quicklispPackages: update
Escape things by default in derivation names (i.e. digit cannot be the first character etc.) Update Quicklisp (tracking upstream); list new missing dependencies Add some minimal README about ql-to-nix
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
"<% @var name %>" = buildLispPackage
|
||||
"<% @var filename %>" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."<% @var name %>" or (x: {}))
|
||||
(qlOverrides."<% @var filename %>" or (x: {}))
|
||||
(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 %>
|
||||
"<% @var filename %>" = quicklisp-to-nix-packages."<% @var filename %>";<% @endloop %>
|
||||
}));
|
||||
|
||||
@@ -7,12 +7,14 @@ rec {
|
||||
|
||||
description = ''<% @var description %>'';
|
||||
|
||||
deps = [ <% @loop deps %>args."<% @var name %>" <% @endloop %>];
|
||||
deps = [ <% @loop deps %>args."<% @var filename %>" <% @endloop %>];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''<% @var url %>'';
|
||||
sha256 = ''<% @var sha256 %>'';
|
||||
};
|
||||
|
||||
packageName = "<% @var name %>";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
|
||||
@@ -36,19 +36,27 @@
|
||||
(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)))))
|
||||
(format
|
||||
nil "~a~{~a~}"
|
||||
(if (cl-ppcre:scan "^[a-zA-Z_]" s) "" "_")
|
||||
(loop
|
||||
for x in (map 'list 'identity s)
|
||||
collect
|
||||
(case x
|
||||
(#\/ "_slash_")
|
||||
(#\\ "_backslash_")
|
||||
(#\_ "__")
|
||||
(#\. "_dot_")
|
||||
(t x)))))
|
||||
|
||||
(defun system-data (system)
|
||||
(let*
|
||||
((asdf-system (asdf:find-system system))
|
||||
((asdf-system
|
||||
(or
|
||||
(ignore-errors (asdf:find-system system))
|
||||
(progn
|
||||
(ql:quickload system)
|
||||
(asdf:find-system system))))
|
||||
(ql-system (ql-dist:find-system system))
|
||||
(ql-release (ql-dist:release ql-system))
|
||||
(ql-sibling-systems (ql-dist:provided-systems ql-release))
|
||||
@@ -73,7 +81,8 @@
|
||||
:test 'equal)
|
||||
ql-sibling-names
|
||||
:test 'equal))
|
||||
(deps (mapcar (lambda (x) (list :name x)) dependencies))
|
||||
(deps (mapcar (lambda (x) (list :name x :filename (escape-filename x)))
|
||||
dependencies))
|
||||
(description (asdf:system-description asdf-system))
|
||||
(release-name (ql-dist:short-description ql-release))
|
||||
(version (cl-ppcre:regex-replace-all
|
||||
|
||||
Reference in New Issue
Block a user