All Projects → ProcursusTeam → Procursus

ProcursusTeam / Procursus

Licence: unlicense
Modern iOS Bootstrap

Projects that are alternatives of or similar to Procursus

Awesome Micropython
A curated list of awesome MicroPython libraries, frameworks, software and resources.
Stars: ✭ 287 (-7.72%)
Mutual labels:  makefile
Tucl
The first-ever paper on the Unix shell written by Ken Thompson in 1976 scanned, transcribed, and redistributed with permission
Stars: ✭ 303 (-2.57%)
Mutual labels:  makefile
React Fatigue Dev
Module of modules for making modules
Stars: ✭ 317 (+1.93%)
Mutual labels:  makefile
Clash
Clash for openwrt [Luci-app-clash] https://github.com/frainzy1477/luci-app-clash
Stars: ✭ 293 (-5.79%)
Mutual labels:  makefile
Trkdb
Stars: ✭ 299 (-3.86%)
Mutual labels:  makefile
Task
A task runner / simpler Make alternative written in Go
Stars: ✭ 4,282 (+1276.85%)
Mutual labels:  makefile
Jenkins X Platform
Helm umbrella repo containing the helm charts for the Jenkins-X platform on Kubernetes
Stars: ✭ 287 (-7.72%)
Mutual labels:  makefile
Helm Doc Zh Cn
Try to translate the helm official docs to Chinese. Helm官方文档中文翻译。如果大家觉得这个项目还可以,麻烦打一下右上角的Star按钮,谢谢。此网址查看更方便,欢迎大家提bug,
Stars: ✭ 319 (+2.57%)
Mutual labels:  makefile
Awesome Servicemesh
Awesome service mesh - https://www.servicemesher.com/awesome-servicemesh/
Stars: ✭ 302 (-2.89%)
Mutual labels:  makefile
Full Speed Python
Full Speed Python: a book for self-learners
Stars: ✭ 3,447 (+1008.36%)
Mutual labels:  makefile
Reason Cli
Globally installable Reason toolchain.
Stars: ✭ 294 (-5.47%)
Mutual labels:  makefile
Ghb0t
A GitHub Bot to automatically delete your fork's branches after a pull request has been merged.
Stars: ✭ 295 (-5.14%)
Mutual labels:  makefile
Monolinux
Create embedded Linux systems with a single statically linked executable.
Stars: ✭ 314 (+0.96%)
Mutual labels:  makefile
Openwrt Shadowsocks
Shadowsocks-libev for OpenWrt/LEDE
Stars: ✭ 3,091 (+893.89%)
Mutual labels:  makefile
Iso
Pop!_OS ISO production
Stars: ✭ 318 (+2.25%)
Mutual labels:  makefile
Election Geodata
Precinct shapes (and vote results) for US elections past, present, and future
Stars: ✭ 289 (-7.07%)
Mutual labels:  makefile
Archlinux Docker
Docker Base Image for Arch Linux (read-only mirror)
Stars: ✭ 304 (-2.25%)
Mutual labels:  makefile
Alpine Elixir Phoenix
An Alpine Linux base image containing Elixir, Erlang, Node, Hex, and Rebar. Ready for Phoenix applications!
Stars: ✭ 320 (+2.89%)
Mutual labels:  makefile
Ios Project Env Setup
Setup your iOS project environment with a Shellscript, Makefile or Rakefile
Stars: ✭ 320 (+2.89%)
Mutual labels:  makefile
Hadoop Book
Example source code accompanying O'Reilly's "Hadoop: The Definitive Guide" by Tom White
Stars: ✭ 3,317 (+966.56%)
Mutual labels:  makefile

Procursus

A new, powerful cross-compilation system for *OS devices coupled with an APT repo.

Why?

At its birth, this build-system was meant to create an APT repo included in a specific jailbreak. That never came to pass, however, and it turned into more of a hobby project.

The current goal of Procursus is to provide a large set of consistently up-to-date *nix tools cross compiled to work on Darwin based platforms. It's built from the ground up in such a way that updating packages is quick and easy, helping to not fall behind upstream.

In the iOS jailbreak scene, it also attempts to address an odd fragmentation problem seen over the past couple years. There have been a couple new APT repositories that have arrisen from the ashes of Saurik's Telesphoreo, both with their own respective flaws. One of the main issues with both of these, however, is that they're targetted towards one jailbreak or another. Here, this has been wholeheartedly solved. Procursus includes 0 code-injection and hooking platforms, and can be ran fully functionally with one or more of the four main GUI package managers as of 06/04/2020. Here are a few of the main changes over other similar build systems:

  • Based on Makefiles. This allows for parallel building of packages that don't depend on each other, making it much quicker to build. Not only that, but the way it is setup, adding a new package is as easy as making a new .mk file and adding a respective .control file.
  • Fully open to community contribution. See Contributing.
  • No jailbreak-specific software, meaning it is plug and play for anyone that decides to use it in their jailbreak or project.
  • To elaborate on this point, any jailbreak wishing to include Procursus need not collaborate with us to get their hooking library or package manager on the repo. They can have their own seperate repo for those jailbreak-specific tools, and we'll just keep managing the tools we provide.
  • First main jailbreak repository ever to be fully functional with any one of the main four package managers out of the box, allowing you to remove the default.
  • Includes an Obj-C implementation of the traditional firmware.sh that's not only quicker, but also creates a package for cpu subtype. (cy.cpu.arm64e, for example)
  • Uses GNU tools.
  • Updating most packages is as simple as changing the version number in it's .mk file and recompiling.

Building

Building has been made to be simple, yet get the job done properly. Both macOS and Linux are supported build systems. Linux is not, however, fully supported, and not all packages are compilable there; MacOS is the main system you'll want to be building with.

Supported host systems as of 06/04/2020 are iphoneos-arm64, iphoneos-arm, appletvos-arm64, watchos-arm64, and watchos-arm.

Requirements
Xcode + Xcode Commandline Tools + Homebrew (on macOS)
An iOS toolchain, cctools-port recommended (on Linux)
GNU make (On macOS you'll have to run gmake)
GNU coreutils
GNU findutils
GNU sed (gnu-sed in Homebrew)
GNU tar (gnu-tar in Homebrew)
GNU patch (gpatch in Homebrew)
bash 5.0
openssl
gnupg
ldid with sha256 hashes (ldid from Homebrew is fine)
libtoolize
automake
yacc, lex, groff
fakeroot
dpkg
zstd
ncurses 6
wget
cmake
docbook-xsl
python 3.9
On macOS, all the build requirements can be installed with the following command.
brew install make bash wget gnu-tar gnu-sed gnupg ldid cmake automake groff gpatch findutils coreutils fakeroot zstd dpkg ncurses docbook-xsl python3
Supported commands Function
make or make all or make package Compiles the entire Procursus suite and packs it into debian packages.
make (tool) Used to compile only a specified tool.
make (tool)-package Used to compile only a specified tool and pack it into a debian package.
make rebuild-(tool) Used to recompile only a specified tool after it's already been compiled before.
make rebuild-(tool)-package Used to recompile only a specified tool after it's already been compiled before and pack it into a debian package.
make everything Compiles the entire Procursus suite for every supported host platform and packs it into debian packages.
make clean Clean out $(BUILD_STAGE), $(BUILD_BASE), and $(BUILD_WORK).
make extreme-clean Resets the entire git repository.
make env Print the proenv shell function to STDOUT to give a cross-compilation environment in your POSIX shell (make env >> ~/.zshrc)

There are very few variables you'll need to pay attention to/change to get building working well.

Variable Function
MEMO_TARGET Can be set to any of the supported host systems. Pretty self explainatory. (Defaults to iphoneos-arm64)
MEMO_CFVER Used to set minimum *OS version to compile for. Use the CoreFoundation version that coresponds to the OS version you're compiling for. (Defaults to 1600 for iOS 13)
NO_PGP Set to 1 if you want to bypass verifying tarballs with gpg. Useful if you just want a quick build without importing everyone's public keys.
TARGET_SYSROOT Path to your chosen iPhone SDK. (Defaults to Xcode default path on macOS and the cctools-port default path on Linux.)
MACOSX_SYSROOT Path to your chosen macOS SDK. (Defaults to Xcode default path on macOS and the cctools-port default path on Linux.)
BUILD_ROOT If you have this repo in one place, but want to build everything in a different place, set BUILD_ROOT to said different place. (Untested but should work fine.)

Contributing and/or Issues

Contributions in the form of Issues or Pull Requests are welcome with open arms. See the CONTRIBUTING.md.

Credits

Build system created by Diatrus and Kirb. Built to be better by all our wonderful contributors. Made worth it by people like you!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].