quicklisp-to-nix: support / in the system name

Add some more packages

+2
pkgs/development/lisp-modules/define-package.nix
···
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"
···
++ (args.propagatedBuildInputs or []);
buildInputs = buildInputs;
dontStrip=true;
+
meta = {
inherit description version;
} // meta;
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix
···
+
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
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_asdf.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_base.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_common-lisp.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_conf.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_grovel.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_multiplex.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_sockets.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_streams.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_syscalls.nix
···
+
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'';
+
};
+
}
+14
pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix
···
+
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
pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
···
hunchentoot = x: {
propagatedBuildInputs = [pkgs.openssl];
};
+
iolib = x: {
+
propagatedBuildInputs = [pkgs.libfixposix pkgs.gcc];
+
};
}
+1
pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
···
hunchentoot
external-program
drakma
+
iolib
+142
pkgs/development/lisp-modules/quicklisp-to-nix.nix
···
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: {}))
···
(import ./quicklisp-to-nix-output/uiop.nix {
inherit fetchurl;
}));
+
+
+
"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
···
(qlOverrides."alexandria" or (x: {}))
(import ./quicklisp-to-nix-output/alexandria.nix {
inherit fetchurl;
+
}));
+
+
+
"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";
}));
+3 -2
pkgs/development/lisp-modules/quicklisp-to-nix/invocation.emb
···
"<% @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 -1
pkgs/development/lisp-modules/quicklisp-to-nix/nix-package.emb
···
args @ { fetchurl, ... }:
rec {
-
baseName = ''<% @var name %>'';
+
baseName = ''<% @var filename %>'';
version = ''<% @var version %>'';
description = ''<% @var description %>'';
+14 -1
pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
···
(format nil "~{~16,2,'0r~}"
(map 'list 'identity (md5:md5sum-file path))))))))
+
(defun escape-filename (s)
+
(format nil "~{~a~}"
+
(loop
+
for x in (map 'list 'identity s)
+
collect
+
(case x
+
(#\/ "_slash_")
+
(#\\ "_backslash_")
+
(#\_ "__")
+
(t x)))))
+
(defun system-data (system)
(ql:quickload system)
(let*
···
:url url
:md5 file-md5
:name name
+
:filename (escape-filename name)
:deps deps
:dependencies dependencies
:version version)))
···
for s in closure
do (alexandria:write-string-into-file
(nix-expression s)
-
(format nil "~a/quicklisp-to-nix-output/~a.nix" target-directory s)
+
(format nil "~a/quicklisp-to-nix-output/~a.nix"
+
target-directory (escape-filename s))
:if-exists :supersede))
(alexandria:write-string-into-file
(cl-emb:execute-emb