From 5e565754abcfcb726510e2f6c205b5b6bd0e091f Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 10 Mar 2014 02:57:48 +0100 Subject: [PATCH] Add new package "xpwn" from @dborca's fork. This really hase some nice utilities for coping with HFS+ and DMG format. We're going to use it for extracting the xcode DMG, but it could be used for more, even generating DMGs. The reason I'm using the fork instead of the repository from @planetbeing is thet the fork contains a few fixes, especially for dealing with symlinks in HFS+ images. Signed-off-by: aszlig --- pkgs/development/mobile/xpwn/default.nix | 28 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/mobile/xpwn/default.nix diff --git a/pkgs/development/mobile/xpwn/default.nix b/pkgs/development/mobile/xpwn/default.nix new file mode 100644 index 000000000000..b248107141f5 --- /dev/null +++ b/pkgs/development/mobile/xpwn/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }: + +stdenv.mkDerivation { + name = "xpwn-0.5.8git"; + + src = fetchgit { + url = "git://github.com/dborca/xpwn.git"; + rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0"; + sha256 = + "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv"; + }; + + preConfigure = '' + sed -r -i \ + -e 's/(install.*TARGET.*DESTINATION )\.\)/\1bin)/' \ + -e 's!(install.*(FILE|DIR).*DESTINATION )([^)]*)!\1share/xpwn/\3!' \ + */CMakeLists.txt + sed -i -e '/install/d' CMakeLists.txt + ''; + + buildInputs = [ cmake zlib libpng bzip2 libusb openssl ]; + + meta = { + homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn"; + description = "Custom NOR firmware loader/IPSW generator for the iPhone"; + license = stdenv.lib.licenses.gpl3Plus; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6cd584e6f1f8..9ab8331bce99 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3825,6 +3825,8 @@ let xmlindent = callPackage ../development/web/xmlindent {}; + xpwn = callPackage ../development/mobile/xpwn {}; + xxdiff = callPackage ../development/tools/misc/xxdiff { bison = bison2; };