• Stars
    star
    196
  • Rank 198,553 (Top 4 %)
  • Language
    HTML
  • Created over 11 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fork of phpdev32's MaciASL project, primarily to add command line patcher, patchmatic

Fork of MaciASL for command line 'patchmatic' by RehabMan

After SJ_Underwater released his ACPI IDE, MaciASL, I immediately wanted to prepare a version of the embedded DSDT patching code into a command line application which could be used for automated DSDT patching from scripts or PKG installers, such as the ProBook Installer.

Since I had no experience writing Objective-C code, I was a bit hesitant to take on the task. But given that it seemed no one else was interested in taking it on, I eventually decided to learn enough Objective-C and OS X "Foundation" framework to give it a try. The result is 'patchmatic' a command line version of MaciASL's patching functionality.

Mostly the changes to MaciASL source code are minimal, as the patchmatic has its own PCH (pre-compiled header). Mostly a few #ifdefs and changes to the project file to allow for the additional 'patchmatic' target, plus main.m which is the command line driver to the patch classes.

Because I wanted it to work on ML, Lion, and SL, there is a NSRegularExpression shim which utilizes open-source RegexKitLite. If you build to target OS X 10.6, it uses this shim. If you build to target OS X 10.7 or greater it uses the built-in NSRegularExpression provided by the OS (the code for RegexKitLite is still compiled in unless you remove those files from the patchmatic target). Please note the shim is incomplete, as I only implemented the NSRegularExpression features that MaciASL is using (well, there is a few 'easy' extras implemented, but the more involved methods that are not being used are not implemented).

A note about changes to MaciASL itself: You can also build the MaciASL.app from this repo. It contains a few changes to SJ's MaciASL. In particular: autosaves are disabled (I find that feature incredibly annoying/buggy), syntax color highlighting is turned off (I find it too slow), and there are some improvements to the algorithm used for automatic indenting of patch output.

Forked from the following repo: git://git.code.sf.net/p/maciasl/code

How to Install:

This is a command line binary, so you can run it directly or copy to your /usr/local/bin:

cp patchmatic /usr/local/bin/patchmatic

Usage can be displayed by running the program with no arguments.

Downloads:

Downloads are available on Bitbucket:

https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/

Note: Archived (old) downloads are available on Google Code:

https://code.google.com/p/os-x-maciasl-patchmatic/downloads/list

Feedback

You can use the following thread for questions and to find out more about MaciASL or patchmatic:

http://www.tonymacx86.com/dsdt/83565-native-dsdt-aml-ide-compiler-maciasl-open-beta.html

Build Environment

My build environment is currently Xcode 6.1, using SDK 10.8, targeting OS X 10.6.

No other build environment is supported.

There is a 'makefile' provided if you wish to do command line builds. The 'makefile' will build both patchmatic and MaciASL.app. You can install it to the standard places using 'make install'

32-bit Builds

Because this project uses ARC, 32-bit builds are not supported.

Source Code:

The source code is maintained at the following sites:

https://code.google.com/p/os-x-maciasl-patchmatic/

https://github.com/RehabMan/OS-X-MaciASL-patchmatic

Change Log:

2016-03-12

  • Switched ACPI 5.1 -> ACPI 6.1

2014-10-14

  • Merged with latest MaciASL from SJ...

  • Includes latest iasl build from Intel in iasl5

  • Added "-extract" feature to patchmatic

2013-04-07

  • Initial publication.

Credits:

RehabMan for patchmatic SJ_Underwater for coding MaciASL in the first place. John Engelhart the author of RegexKit.

More Repositories

1

OS-X-Clover-Laptop-Config

Some Clover config.plist files for common Intel graphics configurations
Shell
1,425
star
2

Laptop-DSDT-Patch

Common DSDT patches for Ivy/Sandy/Haswell laptops for running OS X
672
star
3

OS-X-USB-Inject-All

Kext to inject all USB ports for the installed Intel EHCI/XHCI chipset automatically.
C++
566
star
4

OS-X-Voodoo-PS2-Controller

Contains updated Voodoo PS/2 Controller, improved Keyboard & Synaptics TouchPad
C++
490
star
5

patch-nvme

A set of scripts and plists for patching IONVMeFamily.kext for non-Apple NVMe SSDs (based on the work of PikeRAlpha)
Shell
437
star
6

OS-X-FakeSMC-kozlek

Fork of FakeSMC, PlugIns, and HwMonitor (based on kozlek's branch)
Objective-C
403
star
7

Intel-NUC-DSDT-Patch

Patches and Clover configuration required for Intel NUC5/6/7/8 series mini PCs
Makefile
363
star
8

HP-ProBook-4x30s-DSDT-Patch

This repository contains the ACPI patches (using Clover hotpatch) for a wide range of HP ProBook/EliteBook/ZBook laptops
Shell
180
star
9

OS-X-Generic-USB3

Fork of Zenith432's GenericUSBXHCI USB 3.0 driver for OS X
C++
112
star
10

OS-X-Null-Ethernet

A "Null" (Fake) Ethernet driver for OS X meant to be used when you have no working Ethernet or AirPort
C++
107
star
11

OS-X-Realtek-Network

Fork of Meize's RealtekRTL8111 Network driver for OS X
C++
97
star
12

hack-tools

A set of tools shared with hackintosh automatic guide scripts
Shell
68
star
13

OS-X-Intel-Backlight

A backlight control kext replacing AppleBacklight for Intel integrated graphics hardware
C++
65
star
14

OS-X-ACPI-Debug

A kernel extension and DSDT patches to enable debug tracing from ACPI code (DSDT) to system.log
C++
58
star
15

OS-X-ACPI-Backlight

Updated ACPIBacklight.kext for OS X. Uses ACPI methods to control laptop backlight.
C
48
star
16

Lenovo-Y50-DSDT-Patch

DSDT/SSDT patching scripts, post install scripts for Lenovo Y50[-70] laptop.
Shell
39
star
17

Lenovo-U430-Touch-DSDT-Patch

DSDT patch repository for Lenovo U430 Touch laptop
Shell
34
star
18

OS-X-ioio

Command-line utility for setting ioreg properties via IOService::SetProperties
C++
30
star
19

HP-Envy-DSDT-Patch

DSDT patches for OS X on Haswell HP Envy 15-j063cl
Makefile
29
star
20

OS-X-ACPI-Keyboard

A kext that allows OS X ADB keyboard events to be sent from DSDT/ACPI events
C++
27
star
21

Gigabyte-BRIX-s-DSDT-Patch

DSDT patches for OS X on Haswell Gigabyte BRIX-s (GB-BXi5H-4200 and others)
Shell
26
star
22

OS-X-FakeSMC-slice

Fork of FakeSMC, PlugIns, and HwMonitor (based on slice's branch)
C
14
star
23

Intel-DH67XX-DSDT-Patch

This repository contains the DSDT patches required for the Intel DH67XX motherboards. Tested with DH67GD, but should work with DH67BL, DH67CF, and DH67CL.
Shell
13
star
24

OS-X-ACPI-Poller

Implements an ACPI-based polling kernel extension for OS X
C++
9
star
25

HP-ProBook-4x30s-Fan-Reset

Source for Fanreset.dylib used on HP ProBook to reset fan to factory behavior at system startup
C
9
star
26

HP-Envy-K-DSDT-Patch

DSDT patches for OS X on Haswell HP Envy K-series
5
star
27

HP-Envy-Q-DSDT-Patch

DSDT patches for OS X on Haswell HP Envy Q-series
4
star
28

OS-X-blinkscreen

blinkscreen utility/LaunchDaemon for brightness workaround for OS X
C
4
star
29

HP-Envy-N-DSDT-Patch

DSDT patches for OS X on Haswell HP Envy N-series
1
star