Patches and scripts for building GNU IceCat on macOS

Johannes Marbach 58287d47ec Add DMG for 60.3.0 5 years ago
dmgs 58287d47ec Add DMG for 60.3.0 5 years ago
.gitignore a971fc38b2 Ignore source archive and extracted folder 5 years ago
0001-replace-binpath-with-respath.patch 13a541be0e Add patches 5 years ago
0002-allow-access-to-view-bridge.patch 13a541be0e Add patches 5 years ago
LICENSE d5a6b4092a Initial commit 5 years ago
README.md 58287d47ec Add DMG for 60.3.0 5 years ago
icebuild f119583bd2 Add command to update hosted DMG 5 years ago

README.md

icecat-mac

Patches and scripts for building GNU IceCat on macOS

Setting up the Environment

Xcode

Install Xcode. Afterwards install the command line developer tools with

xcode-select --install

The headers are not installed by default so you have to go to /Library/Developer/CommandLineTools/Packages and install the package from that folder manually.

Next, download the 10.11 macOS SDK from https://github.com/phracker/MacOSX-SDKs, unpack it into your home directory and link it into /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs.

Homebrew

Install homebrew. Afterwards use it to install the following dependencies

  • autoconf@2.13
  • llvm
  • rust
  • yasm

Other Dependencies

There might be further dependencies required. The configure script will alert their absence when trying to build IceCat.

Building

Simply run

./icebuild

to download, patch and compile the sources. See icebuild help for further options. The final .dmg package will be placed in icecat-${version}/objdir/dist.

Patches

0001-replace-binpath-with-respath.patch

Sets the right path for the custom GNU addons during packaging.

0002-allow-access-to-view-bridge.patch

Loosens sandboxing to allow access to /Library/Preferences/com.apple.ViewBridge.plist. I couldn't figure out what consequences the lack of access to this file has but it causes an error on the terminal when running IceCat.

2019-01-18 08:15:45.325 plugin-container[25006:2228360] unable to obtain configuration from file:///Library/Preferences/com.apple.ViewBridge.plist due to Error Domain=NSCocoaErrorDomain Code=257 "The file “com.apple.ViewBridge.plist” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/Library/Preferences/com.apple.ViewBridge.plist, NSUnderlyingError=0x10b9ec250 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}

Pre-Built Binaries

If possible, you should build IceCat from sources using the steps above. If for some reason you cannot do this, you can install one of the pre-built DMGs from the dmgs folder. You are using these binaries at your own risk though and I will not take responsibility for any damage caused.

Note also that the binaries themselves are not free (libre) software because they were compiled against Apple's proprietary macOS SDK. Hein-Pieter van Braam-Stewart has generously granted authorization to still host them on NotABug.

License

IceCat itself is licensed under MPL 2.0 and GPLv3. The remaining code in this repository is subject to GPLv3.