Merge pull request #43735 from tg-x/build-idris-package

build-idris-package: add ipkgName
This commit is contained in:
Silvan Mosberger 2018-10-09 13:29:40 +02:00 committed by GitHub
commit 5176389f1d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 40 additions and 41 deletions

View File

@ -8,6 +8,7 @@ build-idris-package {
name = "bi";
version = "2018-06-25";
ipkgName = "Bi";
idrisDeps = [ contrib pruviloj ];
src = fetchFromGitHub {

View File

@ -13,10 +13,6 @@ build-idris-package {
sha256 = "0cfp58lhm2g0g1vrpb0mh71qb44n2yvg5sil9ndyf2sqd5ria6yq";
};
postUnpack = ''
rm source/test.ipkg
'';
meta = {
description = "A small bifunctor library for idris";
homepage = https://github.com/japesinator/Idris-Bifunctors;

View File

@ -5,6 +5,7 @@
, noBase ? false
, name
, version
, ipkgName ? name
, extraBuildInputs ? []
, ...
}@attrs:
@ -13,7 +14,10 @@ let
++ lib.optional (!noPrelude) idrisPackages.prelude
++ lib.optional (!noBase) idrisPackages.base;
idris-with-packages = idrisPackages.with-packages allIdrisDeps;
newAttrs = builtins.removeAttrs attrs [ "idrisDeps" "extraBuildInputs" "name" "version" ] // {
newAttrs = builtins.removeAttrs attrs [
"idrisDeps" "noPrelude" "noBase"
"name" "version" "ipkgName" "extraBuildInputs"
] // {
meta = attrs.meta // {
platforms = attrs.meta.platforms or idrisPackages.idris.meta.platforms;
};
@ -29,22 +33,29 @@ stdenv.mkDerivation ({
# opts = -i ../../path/to/package
# rather than the declarative pkgs attribute so we have to rewrite the path.
postPatch = ''
sed -i *.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g"
runHook prePatch
sed -i ${ipkgName}.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g"
'';
buildPhase = ''
idris --build *.ipkg
runHook preBuild
idris --build ${ipkgName}.ipkg
runHook postBuild
'';
checkPhase = ''
if grep -q test *.ipkg; then
idris --testpkg *.ipkg
runHook preCheck
if grep -q tests ${ipkgName}.ipkg; then
idris --testpkg ${ipkgName}.ipkg
fi
runHook postCheck
'';
installPhase = ''
idris --install *.ipkg --ibcsubdir $out/libs
IDRIS_DOC_PATH=$out/doc idris --installdoc *.ipkg || true
runHook preInstall
idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs
IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg || true
runHook postInstall
'';
} // newAttrs)

View File

@ -6,6 +6,8 @@ build-idris-package {
name = "canvas";
version = "2017-11-09";
ipkgName = "idriscanvas";
src = fetchFromGitHub {
owner = "JinWuZhao";
repo = "idriscanvas";

View File

@ -6,6 +6,8 @@ build-idris-package {
name = "coda";
version = "2018-01-25";
ipkgName = "Coda";
src = fetchFromGitHub {
owner = "ostera";
repo = "idris-coda";

View File

@ -17,10 +17,6 @@ build-idris-package {
sha256 = "0vyjadd9sb8qcbzvzhnqwc8wa7ma770c10xhn96jsqsnzr81k52d";
};
postUnpack = ''
rm source/containers-travis.ipkg
'';
meta = {
description = "Various data structures for use in the Idris Language.";
homepage = https://github.com/jfdm/idris-containers;

View File

@ -18,11 +18,6 @@ build-idris-package {
sha256 = "1rpa7yjvfpzl06h0qbk54jd2n52nmgpf7nq5aamcinqh7h5gbiwn";
};
postUnpack = ''
rm source/example_main.ipkg
rm source/example_view.ipkg
'';
meta = {
description = "Electron bindings for Idris";
homepage = https://github.com/jheiling/idris-electron;

View File

@ -6,6 +6,8 @@ build-idris-package {
name = "free";
version = "2017-07-03";
ipkgName = "idris-free";
src = fetchFromGitHub {
owner = "idris-hackers";
repo = "idris-free";

View File

@ -5,7 +5,7 @@
, lib
}:
build-idris-package {
name = "idris-hamt";
name = "hamt";
version = "2016-11-15";
idrisDeps = [ contrib effects ];

View File

@ -7,6 +7,7 @@ build-idris-package {
name = "hrtime";
version = "2017-04-16";
ipkgName = "hrTime";
idrisDeps = [ idrisscript ];
src = fetchFromGitHub {

View File

@ -8,6 +8,7 @@ build-idris-package {
name = "idrishighlighter";
version = "2018-02-22";
ipkgName = "idris-code-highlighter";
idrisDeps = [ effects lightyear ];
src = fetchFromGitHub {

View File

@ -8,6 +8,7 @@ build-idris-package {
name = "jheiling-js";
version = "2016-03-09";
ipkgName = "js";
idrisDeps = [ contrib jheiling-extras ];
src = fetchFromGitHub {

View File

@ -9,6 +9,7 @@ build-idris-package {
name = "mhd";
version = "2016-04-22";
ipkgName = "MHD";
idrisDeps = [ contrib effects ];
extraBuildInputs = [ libmicrohttpd ];

View File

@ -16,10 +16,6 @@ build-idris-package {
sha256 = "093q3qjmr93wv8pqwk0zfm3hzf14c235k9c9ip53rhg6yzcm0yqz";
};
postUnpack = ''
rm source/patricia-nix.ipkg
'';
meta = {
description = "Immutable map from integer keys to values based on patricia tree. Basically persistent array.";
homepage = https://github.com/ChShersh/idris-patricia;

View File

@ -13,10 +13,6 @@ build-idris-package {
sha256 = "1dirzqy40fczbw7gp2jr51lzqsnq5vcx9z5l6194lcrq2vxgzv1s";
};
postUnpack = ''
rm source/test.ipkg
'';
meta = {
description = "Type-safe way of working with permutations in Idris";
homepage = https://github.com/vmchale/permutations;

View File

@ -20,10 +20,6 @@ build-idris-package {
sha256 = "0rbx0yqa0fb7h7qfsvqvirc5q85z51rcwbivn6351jgn3a0inmhf";
};
postUnpack = ''
rm source/test.ipkg
'';
meta = {
description = "Recursion schemes for Idris";
homepage = https://github.com/vmchale/recursion_schemes;

View File

@ -6,6 +6,8 @@ build-idris-package {
name = "refined";
version = "2017-12-28";
ipkgName = "idris-refined";
src = fetchFromGitHub {
owner = "janschultecom";
repo = "idris-refined";
@ -13,10 +15,6 @@ build-idris-package {
sha256 = "1am7kfc51p2zlml954v8cl9xvx0g0f1caq7ni3z36xvsd7fh47yh";
};
postUnpack = ''
rm source/idris-refined-test.ipkg
'';
meta = {
description = "Port of Scala/Haskell Refined library to Idris";
homepage = https://github.com/janschultecom/idris-refined;

View File

@ -7,6 +7,7 @@ build-idris-package {
name = "snippets";
version = "2018-03-17";
ipkgName = "idris-snippets";
idrisDeps = [ contrib ];
src = fetchFromGitHub {

View File

@ -7,6 +7,7 @@ build-idris-package {
name = "tap";
version = "2017-04-08";
ipkgName = "TAP";
idrisDeps = [ contrib ];
src = fetchFromGitHub {
@ -16,10 +17,6 @@ build-idris-package {
sha256 = "0fhlmmivq9xv89r7plrnhmvay1j7bapz3wh7y8lygwvcrllh9zxs";
};
postUnpack = ''
rm source/Draft.ipkg
'';
meta = {
description = "A simple TAP producer and consumer/reporter for Idris";
homepage = https://github.com/ostera/tap-idris;

View File

@ -6,6 +6,8 @@ build-idris-package {
name = "tparsec";
version = "2018-06-26";
ipkgName = "TParsec";
src = fetchFromGitHub {
owner = "gallais";
repo = "idris-tparsec";

View File

@ -6,6 +6,8 @@ build-idris-package {
name = "vdom";
version = "0.6.0";
ipkgName = "idris-vdom";
src = fetchFromGitHub {
owner = "brandondyck";
repo = "idris-vdom";

View File

@ -8,6 +8,7 @@ build-idris-package {
name = "yaml";
version = "2018-01-25";
ipkgName = "Yaml";
idrisDeps = [ contrib lightyear ];
src = fetchFromGitHub {

View File

@ -7,6 +7,7 @@ build-idris-package {
name = "yampa";
version = "2016-07-05";
ipkgName = "idris-yampa";
idrisDeps = [ bifunctors ];
src = fetchFromGitHub {