From b43e5529f770818710fffd2458e320f49272d26f Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 2 Sep 2019 01:24:41 +0100 Subject: feat(third_party): Add missing Quicklisp packages for Gemma Gemma depends on cl-prevalence, which isn't in the nixpkgs Quicklisp snapshot. This adds the package and its dependencies to the overlay. --- default.nix | 7 ++++++ .../quicklisp-to-nix-output/cl-prevalence.nix | 27 ++++++++++++++++++++ .../quicklisp-to-nix-output/s-sysdeps.nix | 25 +++++++++++++++++++ .../common_lisp/quicklisp-to-nix-output/s-xml.nix | 27 ++++++++++++++++++++ third_party/common_lisp/quicklisp.nix | 29 ++++++++++++++++++++++ 5 files changed, 115 insertions(+) create mode 100644 third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix create mode 100644 third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix create mode 100644 third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix create mode 100644 third_party/common_lisp/quicklisp.nix 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; + })); +}) -- cgit 1.4.1