quicklisp-to-nix: support / in the system name
Add some more packages
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user