mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-10-04 00:48:36 +03:00
allow buildIdris output to be used as a dependency in other buildIdris calls more directly
This commit is contained in:
parent
5f27842cbc
commit
0ea7c599cb
@ -36,11 +36,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710854652,
|
"lastModified": 1719371271,
|
||||||
"narHash": "sha256-fKaaZQgVIK3+3G6SWOAMms3XKIPMYs/ErOXLT7iWCW0=",
|
"narHash": "sha256-G3tm/ttP6PxnrrpCYIi4VBpJdGrwqr2pqRKuZlvTg2s=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dbdb1f1b8b37ea37793eb596f4081dc0920821f8",
|
"rev": "267d115a04e93a3487d3c2c26e3af5704a0144cc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -17,11 +17,24 @@
|
|||||||
, ... }@attrs:
|
, ... }@attrs:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
# loop over idrisLibraries and normalize them by turning any that are
|
||||||
|
# direct outputs of the buildIdris function into the `.library {}`
|
||||||
|
# property.
|
||||||
|
idrisLibraryLibs = map (idrisLib:
|
||||||
|
if lib.isDerivation idrisLib
|
||||||
|
then idrisLib
|
||||||
|
else if builtins.isFunction idrisLib
|
||||||
|
then idrisLib {}
|
||||||
|
else if (builtins.isAttrs idrisLib && idrisLib ? "library")
|
||||||
|
then idrisLib.library {}
|
||||||
|
else throw "Found an Idris2 library dependency that was not the result of the buildIdris function"
|
||||||
|
) idrisLibraries;
|
||||||
|
|
||||||
propagate = libs: lib.unique (lib.concatMap (nextLib: [nextLib] ++ nextLib.propagatedIdrisLibraries) libs);
|
propagate = libs: lib.unique (lib.concatMap (nextLib: [nextLib] ++ nextLib.propagatedIdrisLibraries) libs);
|
||||||
ipkgFileName = ipkgName + ".ipkg";
|
ipkgFileName = ipkgName + ".ipkg";
|
||||||
idrName = "idris2-${idris2Version}";
|
idrName = "idris2-${idris2Version}";
|
||||||
libSuffix = "lib/${idrName}";
|
libSuffix = "lib/${idrName}";
|
||||||
propagatedIdrisLibraries = propagate idrisLibraries;
|
propagatedIdrisLibraries = propagate idrisLibraryLibs;
|
||||||
libDirs =
|
libDirs =
|
||||||
lib.strings.makeSearchPath libSuffix propagatedIdrisLibraries;
|
lib.strings.makeSearchPath libSuffix propagatedIdrisLibraries;
|
||||||
drvAttrs = builtins.removeAttrs attrs [
|
drvAttrs = builtins.removeAttrs attrs [
|
||||||
|
Loading…
Reference in New Issue
Block a user