Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 84 lines 1.6 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitLab, 5 rustPlatform, 6 replaceVars, 7 cargo, 8 desktop-file-utils, 9 git, 10 itstool, 11 meson, 12 ninja, 13 pkg-config, 14 python3, 15 rustc, 16 wrapGAppsHook4, 17 borgbackup, 18 gtk4, 19 libadwaita, 20 libsecret, 21 nix-update-script, 22}: 23 24stdenv.mkDerivation rec { 25 pname = "pika-backup"; 26 version = "0.7.4"; 27 28 src = fetchFromGitLab { 29 domain = "gitlab.gnome.org"; 30 owner = "World"; 31 repo = "pika-backup"; 32 rev = "v${version}"; 33 hash = "sha256-DtLGD7+Ydj2fvEHU+bDQDMC/E/9VgrlVNMCG6OlPmfg="; 34 }; 35 36 cargoDeps = rustPlatform.fetchCargoVendor { 37 inherit pname version src; 38 hash = "sha256-1JFXSVs9HPPzh+IjH4RGugrZEifPVcQho9B3hLSTL6s="; 39 }; 40 41 patches = [ 42 (replaceVars ./borg-path.patch { 43 borg = lib.getExe borgbackup; 44 }) 45 ]; 46 47 postPatch = '' 48 patchShebangs build-aux 49 ''; 50 51 nativeBuildInputs = [ 52 desktop-file-utils 53 git 54 itstool 55 meson 56 ninja 57 pkg-config 58 python3 59 wrapGAppsHook4 60 rustPlatform.cargoSetupHook 61 cargo 62 rustc 63 ]; 64 65 buildInputs = [ 66 gtk4 67 libadwaita 68 libsecret 69 ]; 70 71 passthru = { 72 updateScript = nix-update-script { }; 73 }; 74 75 meta = { 76 description = "Simple backups based on borg"; 77 homepage = "https://apps.gnome.org/app/org.gnome.World.PikaBackup"; 78 changelog = "https://gitlab.gnome.org/World/pika-backup/-/blob/v${version}/CHANGELOG.md"; 79 license = lib.licenses.gpl3Plus; 80 maintainers = with lib.maintainers; [ dotlambda ]; 81 teams = [ lib.teams.gnome-circle ]; 82 platforms = lib.platforms.linux; 83 }; 84}