nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix

idris: Clean up package builder

+21 -19
+2
pkgs/development/idris-modules/build-builtin-package.nix
··· 10 10 inherit name version; 11 11 inherit (idris) src; 12 12 13 + includePreludeBase = false; 14 + 13 15 idrisDeps = deps; 14 16 15 17 postUnpack = ''
+18 -18
pkgs/development/idris-modules/build-idris-package.nix
··· 1 1 # Build an idris package 2 - { stdenv, idrisPackages, gmp }: 2 + { stdenv, lib, idrisPackages, gmp }: 3 3 { idrisDeps ? [] 4 + , includePreludeBase ? true 4 5 , name 5 6 , version 6 - , src 7 - , meta 8 7 , extraBuildInputs ? [] 9 - , postUnpack ? "" 10 - , doCheck ? true 11 - }: 8 + , ... 9 + }@attrs: 12 10 let 13 - idris-with-packages = idrisPackages.with-packages idrisDeps; 11 + idrisDeps' = idrisDeps ++ lib.optionals includePreludeBase (with idrisPackages; [ prelude base ]); 12 + idris-with-packages = idrisPackages.with-packages idrisDeps'; 13 + newAttrs = builtins.removeAttrs attrs [ "idrisDeps" "extraBuildInputs" "name" "version" ] // { 14 + meta = attrs.meta // { 15 + platforms = attrs.meta.platforms or idrisPackages.idris.meta.platforms; 16 + }; 17 + }; 14 18 in 15 19 stdenv.mkDerivation ({ 16 - 17 20 name = "${name}-${version}"; 18 21 19 - inherit postUnpack src doCheck meta; 20 - 22 + buildInputs = [ idris-with-packages gmp ] ++ extraBuildInputs; 23 + propagatedBuildInputs = idrisDeps'; 21 24 22 25 # Some packages use the style 23 26 # opts = -i ../../path/to/package ··· 30 27 ''; 31 28 32 29 buildPhase = '' 33 - ${idris-with-packages}/bin/idris --build *.ipkg 30 + idris --build *.ipkg 34 31 ''; 35 32 36 33 checkPhase = '' 37 34 if grep -q test *.ipkg; then 38 - ${idris-with-packages}/bin/idris --testpkg *.ipkg 35 + idris --testpkg *.ipkg 39 36 fi 40 37 ''; 41 38 42 39 installPhase = '' 43 - ${idris-with-packages}/bin/idris --install *.ipkg --ibcsubdir $out/libs 44 - IDRIS_DOC_PATH=$out/doc ${idris-with-packages}/bin/idris --installdoc *.ipkg 40 + idris --install *.ipkg --ibcsubdir $out/libs 41 + IDRIS_DOC_PATH=$out/doc idris --installdoc *.ipkg || true 45 42 ''; 46 43 47 - buildInputs = [ gmp ] ++ extraBuildInputs; 48 - 49 - propagatedBuildInputs = idrisDeps; 50 - }) 44 + } // newAttrs)
+1 -1
pkgs/development/idris-modules/with-packages.nix
··· 15 15 postBuild = '' 16 16 wrapProgram $out/bin/idris \ 17 17 --set IDRIS_LIBRARY_PATH $out/libs 18 - ''; 18 + ''; 19 19 20 20 })