heimdall: 1.4.1 -> 1.4.2pre

+25 -36
+25 -36
pkgs/tools/misc/heimdall/default.nix
··· 1 - { stdenv, fetchFromGitHub, pkgconfig, libusb1, udev 2 - , enableGUI ? true, qt4 ? null 3 - }: 1 + { stdenv, fetchFromGitHub, zlib, libusb1, cmake, qt5 2 + , enableGUI ? false }: 3 + 4 + let version = "d0526a3"; in 5 + let verName = "1.4.2pre"; in 4 6 5 7 stdenv.mkDerivation rec { 6 - version = "1.4.1"; 7 - name = "heimdall-${version}"; 8 + name = "heimdall-${verName}"; 8 9 9 10 src = fetchFromGitHub { 10 11 owner = "Benjamin-Dobell"; 11 12 repo = "Heimdall"; 12 - rev = "v${version}"; 13 - sha256 = "1b7xpamwvw5r2d9yf73f0axv35vg8zaz1345xs3lmsr105phnnp4"; 13 + rev = "${version}"; 14 + sha256 = "1y8gvqprajlml1z6mjcrlj54m9xsr8691nqagakkkis7hs1lgzmp"; 14 15 }; 15 16 16 - buildInputs = 17 - [ pkgconfig libusb1 udev ] 18 - ++ stdenv.lib.optional enableGUI qt4 ; 19 - 20 - makeFlags = "udevrulesdir=$(out)/lib/udev/rules.d"; 17 + buildInputs = [ zlib libusb1 cmake ]; 18 + patchPhase = stdenv.lib.optional (!enableGUI) '' 19 + sed -i '/heimdall-frontend/d' CMakeLists.txt 20 + ''; 21 + enableParallelBuilding = true; 22 + cmakeFlags = ["-DQt5Widgets_DIR=${qt5.qtbase}/lib/cmake/Qt5Widgets" 23 + "-DQt5Gui_DIR=${qt5.qtbase}/lib/cmake/Qt5Gui" 24 + "-DQt5Core_DIR=${qt5.qtbase}/lib/cmake/Qt5Core" 25 + "-DBUILD_TYPE=Release"]; 21 26 22 27 preConfigure = 23 28 '' 24 - pushd libpit 25 - ./configure 26 - make 27 - popd 28 - 29 - cd heimdall 30 - substituteInPlace Makefile.in --replace sudo true 31 - 32 - # Give ownership of the Galaxy S USB device to the logged in 33 - # user. 34 - substituteInPlace 60-heimdall-galaxy-s.rules --replace 'MODE="0666"' 'TAG+="udev-acl"' 29 + # Give ownership of the Galaxy S USB device to the logged in user. 30 + substituteInPlace heimdall/60-heimdall.rules --replace 'MODE="0666"' 'TAG+="uaccess"' 35 31 ''; 36 32 37 - postBuild = stdenv.lib.optionalString enableGUI 38 - '' 39 - pushd ../heimdall-frontend 40 - substituteInPlace Source/mainwindow.cpp --replace /usr/bin $out/bin 41 - qmake heimdall-frontend.pro OUTPUTDIR=$out/bin 42 - make 43 - popd 44 - ''; 45 - 46 - postInstall = 33 + installPhase = 47 34 '' 48 - mkdir -p $out/share/doc/heimdall 49 - cp ../Linux/README $out/share/doc/heimdall/ 35 + mkdir -p $out/bin $out/share/doc/heimdall $out/lib/udev/rules.d 36 + cp bin/heimdall $out/bin 37 + cp ../Linux/README $out/share/doc/heimdall 38 + cp ../heimdall/60-heimdall.rules $out/lib/udev/rules.d 50 39 '' + stdenv.lib.optionalString enableGUI '' 51 - make -C ../heimdall-frontend install 40 + cp bin/heimdall-frontend $out/bin 52 41 ''; 53 42 54 43 meta = {