Skip to content

Commit

Permalink
quicklisp-to-nix: support / in the system name
Browse files Browse the repository at this point in the history
Add some more packages
  • Loading branch information
7c6f434c committed Mar 30, 2017
1 parent d7f3e5a commit 8641a0a
Show file tree
Hide file tree
Showing 19 changed files with 334 additions and 4 deletions.
2 changes: 2 additions & 0 deletions pkgs/development/lisp-modules/define-package.nix
Expand Up @@ -6,6 +6,7 @@ let
mkdir -p "$(dirname "$config_script")"
touch "$config_script"
chmod a+x "$config_script"
echo "export NIX_CFLAGS_COMPILE='$NIX_CFLAGS_COMPILE'\"\''${NIX_CFLAGS_COMPILE:+ $NIX_CFLAGS_COMPILE}\"" >> "$config_script"
echo "export NIX_LISP_COMMAND='$NIX_LISP_COMMAND'" >> "$config_script"
echo "export NIX_LISP_ASDF='$NIX_LISP_ASDF'" >> "$config_script"
echo "export CL_SOURCE_REGISTRY="\$CL_SOURCE_REGISTRY\''${CL_SOURCE_REGISTRY:+:}"'$CL_SOURCE_REGISTRY:$out/lib/common-lisp/${args.baseName}/'" >> "$config_script"
Expand Down Expand Up @@ -46,6 +47,7 @@ basePackage = {
++ (args.propagatedBuildInputs or []);
buildInputs = buildInputs;
dontStrip=true;

meta = {
inherit description version;
} // meta;
Expand Down
14 changes: 14 additions & 0 deletions pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''idna'';
version = ''20120107-git'';

description = ''IDNA (international domain names) string encoding and decoding routines'';

deps = [ args."split-sequence" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/idna/2012-01-07/idna-20120107-git.tgz'';
sha256 = ''0q9hja9v5q7z89p0bzm2whchn05hymn3255fr5zj3fkja8akma5c'';
};
}
14 changes: 14 additions & 0 deletions pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib'';
version = ''v0.8.1'';

description = ''I/O library.'';

deps = [ args."iolib/base" args."iolib/multiplex" args."iolib/streams" args."iolib/sockets" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_asdf'';
version = ''iolib-v0.8.1'';

description = ''A few ASDF component classes.'';

deps = [ args."alexandria" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_base'';
version = ''iolib-v0.8.1'';

description = ''Base IOlib package, used instead of CL.'';

deps = [ args."iolib/common-lisp" args."alexandria" args."split-sequence" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_common-lisp'';
version = ''iolib-v0.8.1'';

description = ''Slightly modified Common Lisp.'';

deps = [ args."alexandria" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_conf'';
version = ''iolib-v0.8.1'';

description = ''Compile-time configuration for IOLib.'';

deps = [ ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_grovel'';
version = ''iolib-v0.8.1'';

description = ''The CFFI Groveller'';

deps = [ args."iolib/asdf" args."iolib/base" args."iolib/conf" args."alexandria" args."split-sequence" args."cffi" args."uiop" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_multiplex'';
version = ''iolib-v0.8.1'';

description = ''I/O multiplexing library.'';

deps = [ args."iolib/base" args."iolib/syscalls" args."cffi" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_sockets'';
version = ''iolib-v0.8.1'';

description = ''Socket library.'';

deps = [ args."iolib/base" args."iolib/syscalls" args."iolib/streams" args."babel" args."cffi" args."iolib/grovel" args."bordeaux-threads" args."idna" args."swap-bytes" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_streams'';
version = ''iolib-v0.8.1'';

description = ''Gray streams.'';

deps = [ args."iolib/base" args."iolib/multiplex" args."cffi" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''iolib_slash_syscalls'';
version = ''iolib-v0.8.1'';

description = ''Syscalls and foreign types.'';

deps = [ args."trivial-features" args."cffi" args."iolib/base" args."iolib/grovel" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/iolib/2016-03-18/iolib-v0.8.1.tgz'';
sha256 = ''090xmjzyx5d7arpk9g0fsyblwh6myq2d1cb7w52r3zy1394c9481'';
};
}
@@ -0,0 +1,14 @@
args @ { fetchurl, ... }:
rec {
baseName = ''swap-bytes'';
version = ''v1.1'';

description = ''Optimized byte-swapping primitives.'';

deps = [ args."trivial-features" ];

src = fetchurl {
url = ''http://beta.quicklisp.org/archive/swap-bytes/2016-09-29/swap-bytes-v1.1.tgz'';
sha256 = ''0snwbfplqhg1y4y4m7lgvksg1hs0sygfikz3rlbkfl4gwg8pq8ky'';
};
}
3 changes: 3 additions & 0 deletions pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
Expand Up @@ -17,4 +17,7 @@
hunchentoot = x: {
propagatedBuildInputs = [pkgs.openssl];
};
iolib = x: {
propagatedBuildInputs = [pkgs.libfixposix pkgs.gcc];
};
}
1 change: 1 addition & 0 deletions pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
Expand Up @@ -4,3 +4,4 @@ esrap
hunchentoot
external-program
drakma
iolib
142 changes: 142 additions & 0 deletions pkgs/development/lisp-modules/quicklisp-to-nix.nix
Expand Up @@ -6,6 +6,82 @@ let quicklisp-to-nix-packages = rec {
buildLispPackage = callPackage ./define-package.nix;
qlOverrides = callPackage ./quicklisp-to-nix-overrides.nix {};

"iolib/conf" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/conf" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_conf.nix {
inherit fetchurl;
}));
"iolib_slash_conf" = quicklisp-to-nix-packages."iolib/conf";


"iolib/asdf" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/asdf" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_asdf.nix {
inherit fetchurl;
"alexandria" = quicklisp-to-nix-packages."alexandria";
}));
"iolib_slash_asdf" = quicklisp-to-nix-packages."iolib/asdf";


"swap-bytes" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."swap-bytes" or (x: {}))
(import ./quicklisp-to-nix-output/swap-bytes.nix {
inherit fetchurl;
"trivial-features" = quicklisp-to-nix-packages."trivial-features";
}));


"idna" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."idna" or (x: {}))
(import ./quicklisp-to-nix-output/idna.nix {
inherit fetchurl;
"split-sequence" = quicklisp-to-nix-packages."split-sequence";
}));


"iolib/grovel" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/grovel" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_grovel.nix {
inherit fetchurl;
"iolib/asdf" = quicklisp-to-nix-packages."iolib/asdf";
"iolib/base" = quicklisp-to-nix-packages."iolib/base";
"iolib/conf" = quicklisp-to-nix-packages."iolib/conf";
"alexandria" = quicklisp-to-nix-packages."alexandria";
"split-sequence" = quicklisp-to-nix-packages."split-sequence";
"cffi" = quicklisp-to-nix-packages."cffi";
"uiop" = quicklisp-to-nix-packages."uiop";
}));
"iolib_slash_grovel" = quicklisp-to-nix-packages."iolib/grovel";


"iolib/syscalls" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/syscalls" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_syscalls.nix {
inherit fetchurl;
"trivial-features" = quicklisp-to-nix-packages."trivial-features";
"cffi" = quicklisp-to-nix-packages."cffi";
"iolib/base" = quicklisp-to-nix-packages."iolib/base";
"iolib/grovel" = quicklisp-to-nix-packages."iolib/grovel";
}));
"iolib_slash_syscalls" = quicklisp-to-nix-packages."iolib/syscalls";


"iolib/common-lisp" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/common-lisp" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_common-lisp.nix {
inherit fetchurl;
"alexandria" = quicklisp-to-nix-packages."alexandria";
}));
"iolib_slash_common-lisp" = quicklisp-to-nix-packages."iolib/common-lisp";


"split-sequence" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."split-sequence" or (x: {}))
Expand Down Expand Up @@ -48,6 +124,60 @@ let quicklisp-to-nix-packages = rec {
}));


"iolib/sockets" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/sockets" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_sockets.nix {
inherit fetchurl;
"iolib/base" = quicklisp-to-nix-packages."iolib/base";
"iolib/syscalls" = quicklisp-to-nix-packages."iolib/syscalls";
"iolib/streams" = quicklisp-to-nix-packages."iolib/streams";
"babel" = quicklisp-to-nix-packages."babel";
"cffi" = quicklisp-to-nix-packages."cffi";
"iolib/grovel" = quicklisp-to-nix-packages."iolib/grovel";
"bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
"idna" = quicklisp-to-nix-packages."idna";
"swap-bytes" = quicklisp-to-nix-packages."swap-bytes";
}));
"iolib_slash_sockets" = quicklisp-to-nix-packages."iolib/sockets";


"iolib/streams" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/streams" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_streams.nix {
inherit fetchurl;
"iolib/base" = quicklisp-to-nix-packages."iolib/base";
"iolib/multiplex" = quicklisp-to-nix-packages."iolib/multiplex";
"cffi" = quicklisp-to-nix-packages."cffi";
}));
"iolib_slash_streams" = quicklisp-to-nix-packages."iolib/streams";


"iolib/multiplex" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/multiplex" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_multiplex.nix {
inherit fetchurl;
"iolib/base" = quicklisp-to-nix-packages."iolib/base";
"iolib/syscalls" = quicklisp-to-nix-packages."iolib/syscalls";
"cffi" = quicklisp-to-nix-packages."cffi";
}));
"iolib_slash_multiplex" = quicklisp-to-nix-packages."iolib/multiplex";


"iolib/base" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib/base" or (x: {}))
(import ./quicklisp-to-nix-output/iolib_slash_base.nix {
inherit fetchurl;
"iolib/common-lisp" = quicklisp-to-nix-packages."iolib/common-lisp";
"alexandria" = quicklisp-to-nix-packages."alexandria";
"split-sequence" = quicklisp-to-nix-packages."split-sequence";
}));
"iolib_slash_base" = quicklisp-to-nix-packages."iolib/base";


"chipz" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."chipz" or (x: {}))
Expand Down Expand Up @@ -224,6 +354,18 @@ let quicklisp-to-nix-packages = rec {
}));


"iolib" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."iolib" or (x: {}))
(import ./quicklisp-to-nix-output/iolib.nix {
inherit fetchurl;
"iolib/base" = quicklisp-to-nix-packages."iolib/base";
"iolib/multiplex" = quicklisp-to-nix-packages."iolib/multiplex";
"iolib/streams" = quicklisp-to-nix-packages."iolib/streams";
"iolib/sockets" = quicklisp-to-nix-packages."iolib/sockets";
}));


"drakma" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."drakma" or (x: {}))
Expand Down
5 changes: 3 additions & 2 deletions pkgs/development/lisp-modules/quicklisp-to-nix/invocation.emb
@@ -1,7 +1,8 @@
"<% @var name %>" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."<% @var name %>" or (x: {}))
(import ./quicklisp-to-nix-output/<% @var name %>.nix {
(import ./quicklisp-to-nix-output/<% @var filename %>.nix {
inherit fetchurl;<% @loop deps %>
"<% @var name %>" = quicklisp-to-nix-packages."<% @var name %>";<% @endloop %>
}));
}));<% @ifequal name filename %><% @else %>
"<% @var filename %>" = quicklisp-to-nix-packages."<% @var name %>";<% @endif %>
@@ -1,6 +1,6 @@
args @ { fetchurl, ... }:
rec {
baseName = ''<% @var name %>'';
baseName = ''<% @var filename %>'';
version = ''<% @var version %>'';

description = ''<% @var description %>'';
Expand Down

0 comments on commit 8641a0a

Please sign in to comment.