diff --git a/pkgs/tools/misc/idevicerestore/default.nix b/pkgs/tools/misc/idevicerestore/default.nix new file mode 100644 index 00000000000..a12fa04c5fc --- /dev/null +++ b/pkgs/tools/misc/idevicerestore/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig +, curl +, libimobiledevice +, libirecovery +, libzip +, libusbmuxd +}: + +stdenv.mkDerivation rec { + pname = "idevicerestore"; + version = "2019-02-14"; + + src = fetchFromGitHub { + owner = "libimobiledevice"; + repo = pname; + rev = "8a882038b2b1e022fbd19eaf8bea51006a373c06"; + sha256 = "17lisl7ll43ixl1zqwchn7jljrdyl2p9q99w30i6qaci71mas37m"; + }; + + nativeBuildInputs = [ + autoreconfHook + pkgconfig + ]; + + buildInputs = [ + curl + libimobiledevice + libirecovery + libzip + libusbmuxd + # Not listing other dependencies specified in + # https://github.com/libimobiledevice/idevicerestore/blob/8a882038b2b1e022fbd19eaf8bea51006a373c06/README#L20 + # because they are inherited `libimobiledevice`. + ]; + + meta = with stdenv.lib; { + homepage = https://github.com/libimobiledevice/idevicerestore; + description = "Restore/upgrade firmware of iOS devices"; + longDescription = '' + The idevicerestore tool allows to restore firmware files to iOS devices. + + It is a full reimplementation of all granular steps which are performed during + restore of a firmware to a device. + + In general, upgrades and downgrades are possible, however subject to + availability of SHSH blobs from Apple for signing the firmare files. + + To restore a device to some firmware, simply run the following: + $ sudo idevicerestore -l + + This will download and restore a device to the latest firmware available. + ''; + license = licenses.lgpl21Plus; + # configure.ac suggests it should work for darwin and mingw as well but not tried yet + platforms = platforms.linux; + maintainers = with maintainers; [ nh2 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c4707c8d948..2091d2b6f86 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11834,6 +11834,8 @@ in inherit (darwin.apple_sdk.frameworks) Carbon; }; + libirecovery = callPackage ../development/libraries/libirecovery { }; + libivykis = callPackage ../development/libraries/libivykis { }; liblastfmSF = callPackage ../development/libraries/liblastfmSF { };