|
1 |
| -{ stdenv, fetchFromGitHub, zlib, libusb1, cmake, qt5, enableGUI ? false }: |
| 1 | +{ stdenv, fetchFromGitHub, cmake |
| 2 | +, zlib, libusb1 |
| 3 | +, enableGUI ? false, qtbase ? null }: |
2 | 4 |
|
3 |
| -let version = "1.4.1-37-gb6fe7f8"; in |
4 |
| - |
5 |
| -stdenv.mkDerivation { |
6 |
| - name = "heimdall-${version}"; |
| 5 | +stdenv.mkDerivation rec { |
| 6 | + name = "heimdall-${if enableGUI then "gui-" else ""}${version}"; |
| 7 | + version = "1.4.2"; |
7 | 8 |
|
8 | 9 | src = fetchFromGitHub {
|
9 | 10 | owner = "Benjamin-Dobell";
|
10 | 11 | repo = "Heimdall";
|
11 | 12 | rev = "v${version}";
|
12 |
| - sha256 = "10c71k251wxd05j6c76qlar5sd73zam1c1g2cq3cscqayd7rzafg"; |
| 13 | + sha256 = "1ygn4snvcmi98rgldgxf5hwm7zzi1zcsihfvm6awf9s6mpcjzbqz"; |
13 | 14 | };
|
14 | 15 |
|
15 |
| - buildInputs = [ zlib libusb1 cmake ]; |
| 16 | + buildInputs = [ |
| 17 | + zlib libusb1 |
| 18 | + ] ++ stdenv.lib.optional enableGUI qtbase; |
| 19 | + nativeBuildInputs = [ cmake ]; |
16 | 20 |
|
17 | 21 | cmakeFlags = [
|
18 |
| - "-DBUILD_TYPE=Release" |
19 | 22 | "-DDISABLE_FRONTEND=${if enableGUI then "OFF" else "ON"}"
|
20 |
| - ] ++ stdenv.lib.optionals enableGUI [ |
21 |
| - "-DQt5Widgets_DIR=${qt5.qtbase.dev}/lib/cmake/Qt5Widgets" |
22 |
| - "-DQt5Gui_DIR=${qt5.qtbase.dev}/lib/cmake/Qt5Gui" |
23 |
| - "-DQt5Core_DIR=${qt5.qtbase.dev}/lib/cmake/Qt5Core" |
24 | 23 | ];
|
25 | 24 |
|
26 | 25 | preConfigure = ''
|
27 | 26 | # Give ownership of the Galaxy S USB device to the logged in user.
|
28 | 27 | substituteInPlace heimdall/60-heimdall.rules --replace 'MODE="0666"' 'TAG+="uaccess"'
|
29 |
| -
|
30 |
| - # Fix version string reported by the executable. |
31 |
| - sed -i -e 's/version = "v.*"/version = "v${version}"/' heimdall/source/Interface.cpp |
32 | 28 | '';
|
33 | 29 |
|
34 | 30 | installPhase = ''
|
35 |
| - mkdir -p $out/bin $out/share/doc/heimdall $out/lib/udev/rules.d |
36 |
| - cp "bin/"* $out/bin/ |
37 |
| - cp ../Linux/README $out/share/doc/heimdall |
38 |
| - cp ../heimdall/60-heimdall.rules $out/lib/udev/rules.d |
| 31 | + mkdir -p $out/{bin,share/doc/heimdall,lib/udev/rules.d} |
| 32 | + install -m755 -t $out/bin bin/* |
| 33 | + install -m644 -t $out/share/doc/heimdall ../Linux/README |
| 34 | + install -m644 -t $out/lib/udev/rules.d ../heimdall/60-heimdall.rules |
39 | 35 | '';
|
40 | 36 |
|
41 | 37 | enableParallelBuilding = true;
|
42 | 38 |
|
43 |
| - meta = { |
44 |
| - homepage = "http://www.glassechidna.com.au/products/heimdall/"; |
| 39 | + meta = with stdenv.lib; { |
| 40 | + homepage = http://www.glassechidna.com.au/products/heimdall/; |
45 | 41 | description = "A cross-platform tool suite to flash firmware onto Samsung Galaxy S devices";
|
46 |
| - license = stdenv.lib.licenses.mit; |
47 |
| - platforms = stdenv.lib.platforms.linux; |
| 42 | + license = licenses.mit; |
| 43 | + maintainers = with maintainers; [ peterhoeg ]; |
| 44 | + platforms = platforms.unix; |
48 | 45 | };
|
49 | 46 | }
|
0 commit comments