Merge pull request #159057 from cab404/qFlipper

qFlipper: re-init at 0.8.2

authored by Alexander Bantyev and committed by GitHub 8ea20873 e70ac149

+105 -19
+103 -18
pkgs/tools/misc/qflipper/default.nix
··· 1 - { lib, fetchurl, appimageTools }: 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , pkg-config 5 + , zlib 6 + , libusb1 7 + , libGL 8 + , qmake 9 + , wrapQtAppsHook 10 + , mkDerivation 2 11 12 + , qttools 13 + , qtbase 14 + , qt3d 15 + , qtsvg 16 + , qtserialport 17 + , qtdeclarative 18 + , qtquickcontrols 19 + , qtquickcontrols2 20 + , qtgraphicaleffects 21 + , qtwayland 22 + }: 3 23 let 4 - pname = "qflipper"; 5 - version = "0.5.3"; 6 - name = "${pname}-${version}"; 7 - src = fetchurl { 8 - url = "https://update.flipperzero.one/builds/qFlipper/${version}/qFlipper-x86_64-${version}.AppImage"; 9 - sha256 = "sha256-UFGFl1zb0t1y7FBd5EX1YS3npWM5slL/wLiTOF/CLNM="; 24 + version = "0.8.2"; 25 + timestamp = "99999999999"; 26 + commit = "nix-${version}"; 27 + hash = "sha256-BaqKlF2SZueykFhtj91McP39oXYAx+lz8eXhn5eouqg="; 28 + 29 + udev_rules = '' 30 + #Flipper Zero serial port 31 + SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", ATTRS{manufacturer}=="Flipper Devices Inc.", TAG+="uaccess" 32 + #Flipper Zero DFU 33 + SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", ATTRS{manufacturer}=="STMicroelectronics", TAG+="uaccess" 34 + ''; 35 + 36 + in 37 + mkDerivation { 38 + pname = "qFlipper"; 39 + inherit version; 40 + 41 + src = fetchFromGitHub { 42 + owner = "flipperdevices"; 43 + repo = "qFlipper"; 44 + rev = version; 45 + inherit hash; 46 + fetchSubmodules = true; 10 47 }; 11 - appimageContents = appimageTools.extractType2 { inherit name src; }; 48 + 49 + nativeBuildInputs = [ 50 + pkg-config 51 + qmake 52 + qttools 53 + ]; 54 + 55 + buildInputs = [ 56 + zlib 57 + libusb1 58 + libGL 59 + wrapQtAppsHook 12 60 13 - in appimageTools.wrapType2 { 14 - inherit name src; 61 + qtbase 62 + qt3d 63 + qtsvg 64 + qtserialport 65 + qtdeclarative 66 + qtquickcontrols 67 + qtquickcontrols2 68 + qtgraphicaleffects 69 + ] ++ lib.optionals (stdenv.isLinux) [ 70 + qtwayland 71 + ]; 15 72 16 - extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ]; 73 + preBuild = '' 74 + substituteInPlace qflipper_common.pri \ 75 + --replace 'GIT_VERSION = unknown' 'GIT_VERSION = "${version}"' \ 76 + --replace 'GIT_TIMESTAMP = 0' 'GIT_TIMESTAMP = ${timestamp}' \ 77 + --replace 'GIT_COMMIT = unknown' 'GIT_COMMIT = "${commit}"' 78 + cat qflipper_common.pri 17 79 18 - extraInstallCommands = '' 19 - mv $out/bin/${name} $out/bin/qFlipper 20 - install -m 444 -D ${appimageContents}/qFlipper.desktop -t $out/share/applications 21 - cp -r ${appimageContents}/usr/share/icons $out/share 80 + ''; 81 + 82 + installPhase = '' 83 + runHook preInstall 84 + 85 + mkdir -p $out/bin 86 + ${lib.optionalString stdenv.isLinux '' 87 + install -Dm755 qFlipper $out/bin/qFlipper 88 + ''} 89 + ${lib.optionalString stdenv.isDarwin '' 90 + install -Dm755 qFlipper.app/Contents/MacOS/qFlipper $out/bin/qFlipper 91 + ''} 92 + cp qFlipperTool $out/bin 93 + 94 + mkdir -p $out/share/applications 95 + cp installer-assets/appimage/qFlipper.desktop $out/share/applications 96 + 97 + mkdir -p $out/share/icons 98 + cp application/assets/icons/qFlipper.png $out/share/icons 99 + 100 + mkdir -p $out/etc/udev/rules.d 101 + tee $out/etc/udev/rules.d/42-flipperzero.rules << EOF 102 + ${udev_rules} 103 + EOF 104 + 105 + runHook postInstall 22 106 ''; 23 107 24 108 meta = with lib; { 25 109 description = "Cross-platform desktop tool to manage your flipper device"; 26 110 homepage = "https://flipperzero.one/"; 27 - license = licenses.unfree; 28 - maintainers = with maintainers; [ wolfangaukang ]; 29 - platforms = [ "x86_64-linux" ]; 111 + license = licenses.gpl3Only; 112 + maintainers = with maintainers; [ cab404 ]; 113 + platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]; # qtbase doesn't build yet on aarch64-darwin 30 114 }; 115 + 31 116 }
+1
pkgs/top-level/aliases.nix
··· 982 982 QmidiNet = qmidinet; # Added 2016-05-22 983 983 qca-qt5 = libsForQt5.qca-qt5; # Added 2015-12-19 984 984 qcsxcad = libsForQt5.qcsxcad; # Added 2020-11-05 985 + qflipper = qFlipper; # Added 2022-02-11 985 986 qmk_firmware = throw "qmk_firmware has been removed because it was broken"; # Added 2021-04-02 986 987 qr-filetransfer = throw ''"qr-filetransfer" has been renamed to "qrcp"''; # Added 2020-12-02 987 988 qt-3 = throw "qt-3 has been removed from nixpkgs, as it's unmaintained and insecure"; # Added 2021-02-15
+1 -1
pkgs/top-level/all-packages.nix
··· 1050 1050 1051 1051 pferd = callPackage ../tools/misc/pferd {}; 1052 1052 1053 - qflipper = callPackage ../tools/misc/qflipper { }; 1053 + qFlipper = libsForQt515.callPackage ../tools/misc/qflipper { }; 1054 1054 1055 1055 quich = callPackage ../tools/misc/quich { } ; 1056 1056