nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 89 lines 2.0 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 kdePackages, 6 qt6, 7 cmake, 8 libqalculate, 9 muparser, 10 libarchive, 11 python3Packages, 12 nix-update-script, 13 pkg-config, 14}: 15 16stdenv.mkDerivation (finalAttrs: { 17 pname = "albert"; 18 version = "33.0.1"; 19 20 src = fetchFromGitHub { 21 owner = "albertlauncher"; 22 repo = "albert"; 23 tag = "v${finalAttrs.version}"; 24 hash = "sha256-zHLyvFzLR7Ryk6eoD+Lp+w4bIj7MAeREK0YzRXYnx6c="; 25 fetchSubmodules = true; 26 }; 27 28 nativeBuildInputs = [ 29 cmake 30 pkg-config 31 qt6.wrapQtAppsHook 32 ]; 33 34 buildInputs = [ 35 kdePackages.qtkeychain 36 libqalculate 37 libarchive 38 muparser 39 ] 40 ++ (with qt6; [ 41 qt5compat 42 qtbase 43 qtdeclarative 44 qtscxml 45 qtsvg 46 qttools 47 qtwayland 48 ]) 49 ++ (with python3Packages; [ 50 python 51 pybind11 52 ]); 53 54 postPatch = '' 55 find -type f -name CMakeLists.txt -exec sed -i {} -e '/INSTALL_RPATH/d' \; 56 57 substituteInPlace src/app/qtpluginprovider.cpp \ 58 --replace-fail "QStringList install_paths;" "QStringList install_paths;${"\n"}install_paths << QFileInfo(\"$out/lib\").canonicalFilePath();" 59 ''; 60 61 postFixup = '' 62 for i in $out/{bin/.albert-wrapped,lib/albert/plugins/*.so}; do 63 patchelf $i --add-rpath $out/lib/albert 64 done 65 ''; 66 67 passthru = { 68 updateScript = nix-update-script { }; 69 }; 70 71 meta = { 72 description = "Fast and flexible keyboard launcher"; 73 longDescription = '' 74 Albert is a desktop agnostic launcher. Its goals are usability and beauty, 75 performance and extensibility. It is written in C++ and based on the Qt 76 framework. 77 ''; 78 homepage = "https://albertlauncher.github.io"; 79 changelog = "https://github.com/albertlauncher/albert/blob/${finalAttrs.src.rev}/CHANGELOG.md"; 80 # See: https://github.com/NixOS/nixpkgs/issues/279226 81 license = lib.licenses.unfree; 82 maintainers = with lib.maintainers; [ 83 synthetica 84 eljamm 85 ]; 86 mainProgram = "albert"; 87 platforms = lib.platforms.linux; 88 }; 89})