Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 81 lines 1.8 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitea, 5 makeWrapper, 6 bash, 7 8 git, 9 nix-prefetch-git, 10 rWrapper, 11 rPackages, 12 13 unstableGitUpdater, 14}: 15 16stdenv.mkDerivation (finalAttrs: { 17 pname = "git-unroll"; 18 version = "0-unstable-2024-11-04"; 19 20 src = fetchFromGitea { 21 domain = "codeberg.org"; 22 owner = "gm6k"; 23 repo = "git-unroll"; 24 rev = "9243bb8a6a9f6875e21a5c64320b66f7fdaf9b3f"; 25 hash = "sha256-1MjbB1EVgmU0HlUibrKOkjmxQ8wseocSJENiAqyHcjU="; 26 }; 27 28 postPatch = '' 29 substituteInPlace unroll \ 30 --replace-fail "#! /usr/bin/env nix-shell" "#!/usr/bin/env bash" \ 31 --replace-fail \ 32 "#! nix-shell -i bash -p git nix rWrapper rPackages.jsonlite rPackages.processx rPackages.dplyr rPackages.plyr rPackages.stringr -I nixpkgs=." \ 33 "" \ 34 --replace-fail '"$PWD/pkgs/build-support/fetchgit/nix-prefetch-git",' '"nix-prefetch-git",' 35 ''; 36 37 nativeBuildInputs = [ 38 makeWrapper 39 ]; 40 41 buildInputs = [ 42 bash 43 ]; 44 45 installPhase = '' 46 runHook preInstall 47 48 install -Dm755 unroll $out/bin/unroll 49 wrapProgram $out/bin/unroll \ 50 --prefix PATH : ${ 51 lib.makeBinPath [ 52 git 53 nix-prefetch-git 54 (rWrapper.override { 55 packages = with rPackages; [ 56 jsonlite 57 processx 58 dplyr 59 plyr 60 stringr 61 ]; 62 }) 63 ] 64 } 65 66 runHook postInstall 67 ''; 68 69 passthru = { 70 updateScript = unstableGitUpdater { }; 71 }; 72 73 meta = { 74 description = "Convert Git repositories with submodules to a Nix expression based on non-recursive Git sources"; 75 homepage = "https://codeberg.org/gm6k/git-unroll"; 76 license = lib.licenses.gpl3Only; 77 maintainers = with lib.maintainers; [ GaetanLepage ]; 78 mainProgram = "unroll"; 79 platforms = lib.platforms.all; 80 }; 81})