diff options
author | Vincent Ambo <tazjin@google.com> | 2019-09-02T00·24+0100 |
---|---|---|
committer | Vincent Ambo <tazjin@google.com> | 2019-09-02T00·24+0100 |
commit | b43e5529f770818710fffd2458e320f49272d26f (patch) | |
tree | 6db312785f934137d3245b2f6261986a576b263b | |
parent | a635beabfa965436e411d76473714f8b53d29549 (diff) |
feat(third_party): Add missing Quicklisp packages for Gemma r/69
Gemma depends on cl-prevalence, which isn't in the nixpkgs Quicklisp snapshot. This adds the package and its dependencies to the overlay.
-rw-r--r-- | default.nix | 7 | ||||
-rw-r--r-- | third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix | 27 | ||||
-rw-r--r-- | third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix | 25 | ||||
-rw-r--r-- | third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix | 27 | ||||
-rw-r--r-- | third_party/common_lisp/quicklisp.nix | 29 |
5 files changed, 115 insertions, 0 deletions
diff --git a/default.nix b/default.nix index e5a384ca1230..71ac4c3c6e13 100644 --- a/default.nix +++ b/default.nix @@ -50,6 +50,13 @@ let rev = "14f9ee66e63077539252f8b4550049381a082518"; sha256 = "1wn7nmb1cqfk2j91l3rwc6yhimfkzxprb8wknw5wi57yhq9m6lv1"; }) {}).elmPackages; + + # One of Gemma's dependencies is missing in nixpkgs' Quicklisp + # package set, it is overlaid locally here. + lispPackages = import ./third_party/common_lisp/quicklisp.nix { + inherit (self) lib; + inherit (super) lispPackages; + }; }; in { ... } @ args: import stableSrc (args // { diff --git a/third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix b/third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix new file mode 100644 index 000000000000..4e5e3ec5d6e8 --- /dev/null +++ b/third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix @@ -0,0 +1,27 @@ +args @ { fetchurl, ... }: +rec { + baseName = ''cl-prevalence''; + version = ''20130720-hg''; + + description = ''Common Lisp Prevalence Package''; + + deps = [ args."s-sysdeps" args."s-xml" ]; + + src = fetchurl { + url = ''http://beta.quicklisp.org/archive/cl-prevalence/2013-07-20/cl-prevalence-20130720-hg.tgz''; + sha256 = ''09pqbw6xcgy0242npiqw7sd8jwwjc0kz7m0sas48jjr0zgnnmi89''; + }; + + packageName = "cl-prevalence"; + + asdFilesToKeep = ["cl-prevalence.asd"]; + overrides = x: x; +} +/* (SYSTEM cl-prevalence DESCRIPTION Common Lisp Prevalence Package SHA256 + 09pqbw6xcgy0242npiqw7sd8jwwjc0kz7m0sas48jjr0zgnnmi89 URL + http://beta.quicklisp.org/archive/cl-prevalence/2013-07-20/cl-prevalence-20130720-hg.tgz + MD5 6176c34b8e1621b65906b1575d9fa20d NAME cl-prevalence FILENAME + cl-prevalence DEPS + ((NAME s-sysdeps FILENAME s-sysdeps) (NAME s-xml FILENAME s-xml)) + DEPENDENCIES (s-sysdeps s-xml) VERSION 20130720-hg SIBLINGS + (cl-prevalence-test) PARASITES NIL) */ diff --git a/third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix b/third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix new file mode 100644 index 000000000000..1c28ec6e2afd --- /dev/null +++ b/third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix @@ -0,0 +1,25 @@ +args @ { fetchurl, ... }: +rec { + baseName = ''s-sysdeps''; + version = ''20130128-git''; + + description = ''An abstraction layer over platform dependent functionality''; + + deps = [ ]; + + src = fetchurl { + url = ''http://beta.quicklisp.org/archive/s-sysdeps/2013-01-28/s-sysdeps-20130128-git.tgz''; + sha256 = ''048q0mzypnm284bvv7036d4z7bv7rdcqks5l372s74kq279l2y00''; + }; + + packageName = "s-sysdeps"; + + asdFilesToKeep = ["s-sysdeps.asd"]; + overrides = x: x; +} +/* (SYSTEM s-sysdeps DESCRIPTION + An abstraction layer over platform dependent functionality SHA256 + 048q0mzypnm284bvv7036d4z7bv7rdcqks5l372s74kq279l2y00 URL + http://beta.quicklisp.org/archive/s-sysdeps/2013-01-28/s-sysdeps-20130128-git.tgz + MD5 2fe61fadafd62ef9597e17b4783889ef NAME s-sysdeps FILENAME s-sysdeps DEPS + NIL DEPENDENCIES NIL VERSION 20130128-git SIBLINGS NIL PARASITES NIL) */ diff --git a/third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix b/third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix new file mode 100644 index 000000000000..ec12dde52231 --- /dev/null +++ b/third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix @@ -0,0 +1,27 @@ +args @ { fetchurl, ... }: +rec { + baseName = ''s-xml''; + version = ''20150608-git''; + + parasites = [ "s-xml.examples" "s-xml.test" ]; + + description = ''Simple Common Lisp XML Parser''; + + deps = [ ]; + + src = fetchurl { + url = ''http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz''; + sha256 = ''0cy36wqzasqma4maw9djq1vdwsp5hxq8svlbnhbv9sq9zzys5viq''; + }; + + packageName = "s-xml"; + + asdFilesToKeep = ["s-xml.asd"]; + overrides = x: x; +} +/* (SYSTEM s-xml DESCRIPTION Simple Common Lisp XML Parser SHA256 + 0cy36wqzasqma4maw9djq1vdwsp5hxq8svlbnhbv9sq9zzys5viq URL + http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz + MD5 9c31c80f0661777c493fab683f776716 NAME s-xml FILENAME s-xml DEPS NIL + DEPENDENCIES NIL VERSION 20150608-git SIBLINGS NIL PARASITES + (s-xml.examples s-xml.test)) */ diff --git a/third_party/common_lisp/quicklisp.nix b/third_party/common_lisp/quicklisp.nix new file mode 100644 index 000000000000..a0040f1d6f7e --- /dev/null +++ b/third_party/common_lisp/quicklisp.nix @@ -0,0 +1,29 @@ +# Overlay over `pkgs.lispPackages` that adds additional packages which +# are missing from the imported Quicklisp package set in nixpkgs. + +{ lib, lispPackages }: + +let inherit (lispPackages) buildLispPackage qlOverrides fetchurl; +in lispPackages // lib.fix(self: { + "s-xml" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."s-xml" or (x: {})) + (import ./quicklisp-to-nix-output/s-xml.nix { + inherit fetchurl; + })); + + "s-sysdeps" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."s-sysdeps" or (x: {})) + (import ./quicklisp-to-nix-output/s-sysdeps.nix { + inherit fetchurl; + })); + + "cl-prevalence" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."cl-prevalence" or (x: {})) + (import ./quicklisp-to-nix-output/cl-prevalence.nix { + inherit fetchurl; + inherit (self) s-sysdeps s-xml; + })); +}) |