ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / id / idevicerestore / package.nix
blob55fa9fcda8ba69d2d49dce1557f49eb7e74f73a8
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , autoreconfHook
5 , pkg-config
6 , curl
7 , libimobiledevice
8 , libirecovery
9 , libzip
10 , libusbmuxd
13 stdenv.mkDerivation rec {
14   pname = "idevicerestore";
15   version = "1.0.0+date=2023-05-23";
17   src = fetchFromGitHub {
18     owner = "libimobiledevice";
19     repo = pname;
20     rev = "609f7f058487596597e8e742088119fdd46729df";
21     hash = "sha256-VXtXAitPC1+pxZlkGBg+u6yYhyM/jVpSgDO/6dXh5V4=";
22   };
24   nativeBuildInputs = [
25     autoreconfHook
26     pkg-config
27   ];
29   buildInputs = [
30     curl
31     libimobiledevice
32     libirecovery
33     libzip
34     libusbmuxd
35     # Not listing other dependencies specified in
36     # https://github.com/libimobiledevice/idevicerestore/blob/8a882038b2b1e022fbd19eaf8bea51006a373c06/README#L20
37     # because they are inherited `libimobiledevice`.
38   ];
40   preAutoreconf = ''
41     export RELEASE_VERSION=${version}
42   '';
44   meta = with lib; {
45     homepage = "https://github.com/libimobiledevice/idevicerestore";
46     description = "Restore/upgrade firmware of iOS devices";
47     longDescription = ''
48       The idevicerestore tool allows to restore firmware files to iOS devices.
50       It is a full reimplementation of all granular steps which are performed during
51       restore of a firmware to a device.
53       In general, upgrades and downgrades are possible, however subject to
54       availability of SHSH blobs from Apple for signing the firmare files.
56       To restore a device to some firmware, simply run the following:
57       $ sudo idevicerestore -l
59       This will download and restore a device to the latest firmware available.
60     '';
61     license = licenses.lgpl21Plus;
62     platforms = platforms.unix;
63     maintainers = with maintainers; [ nh2 ];
64     mainProgram = "idevicerestore";
65   };