diff options
Diffstat (limited to 'corepkgs')
-rw-r--r-- | corepkgs/Makefile.am | 2 | ||||
-rw-r--r-- | corepkgs/channels/Makefile.am | 11 | ||||
-rw-r--r-- | corepkgs/channels/unpack.nix | 7 | ||||
-rw-r--r-- | corepkgs/channels/unpack.sh.in | 24 | ||||
-rw-r--r-- | corepkgs/fetchurl/default.nix | 8 |
5 files changed, 47 insertions, 5 deletions
diff --git a/corepkgs/Makefile.am b/corepkgs/Makefile.am index 2fb23f1c043a..c9ea11cefca7 100644 --- a/corepkgs/Makefile.am +++ b/corepkgs/Makefile.am @@ -1 +1 @@ -SUBDIRS = fetchurl nar buildenv +SUBDIRS = fetchurl nar buildenv channels diff --git a/corepkgs/channels/Makefile.am b/corepkgs/channels/Makefile.am new file mode 100644 index 000000000000..1bf73f7f4cb8 --- /dev/null +++ b/corepkgs/channels/Makefile.am @@ -0,0 +1,11 @@ +all-local: unpack.sh + +install-exec-local: + $(INSTALL) -d $(DESTDIR)$(datadir)/nix/corepkgs + $(INSTALL) -d $(DESTDIR)$(datadir)/nix/corepkgs/channels + $(INSTALL_DATA) unpack.nix $(DESTDIR)$(datadir)/nix/corepkgs/channels + $(INSTALL_PROGRAM) unpack.sh $(DESTDIR)$(datadir)/nix/corepkgs/channels + +include ../../substitute.mk + +EXTRA_DIST = default.nix unpack.sh.in diff --git a/corepkgs/channels/unpack.nix b/corepkgs/channels/unpack.nix new file mode 100644 index 000000000000..80ca4a371034 --- /dev/null +++ b/corepkgs/channels/unpack.nix @@ -0,0 +1,7 @@ +{system, inputs}: + +derivation { + name = "channels"; + builder = ./unpack.sh; + inherit system inputs; +} \ No newline at end of file diff --git a/corepkgs/channels/unpack.sh.in b/corepkgs/channels/unpack.sh.in new file mode 100644 index 000000000000..f349f3da3862 --- /dev/null +++ b/corepkgs/channels/unpack.sh.in @@ -0,0 +1,24 @@ +#! @shell@ -e + +export PATH=/bin:/usr/bin # !!! impure + +mkdir $out +mkdir $out/tmp +cd $out/tmp + +expr=$out/default.nix +echo '[' > $expr + +nr=0 +for i in $inputs; do + echo "unpacking $i" + @bunzip2@ < $i | tar xvf - + mv * ../$nr # !!! hacky + echo "(import ./$nr)" >> $expr + nr=$(($nr + 1)) +done + +echo ']' >> $expr + +cd .. +rmdir tmp \ No newline at end of file diff --git a/corepkgs/fetchurl/default.nix b/corepkgs/fetchurl/default.nix index 663bba4a3800..8957662eccab 100644 --- a/corepkgs/fetchurl/default.nix +++ b/corepkgs/fetchurl/default.nix @@ -1,8 +1,8 @@ -{system, url, md5}: derivation { +{system, url, md5}: + +derivation { name = baseNameOf (toString url); - system = system; builder = ./builder.sh; - url = url; - md5 = md5; id = md5; + inherit system url md5; } |