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

Add some more packages
This commit is contained in:
Michael Raskin
2017-03-30 12:15:50 +02:00
parent d7f3e5a8f0
commit 8641a0ace9
19 changed files with 334 additions and 4 deletions
@@ -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 %>'';
@@ -33,6 +33,17 @@
(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*
@@ -64,6 +75,7 @@
:url url
:md5 file-md5
:name name
:filename (escape-filename name)
:deps deps
:dependencies dependencies
:version version)))
@@ -112,7 +124,8 @@
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