about summary refs log tree commit diff
path: root/pkgs/development/lisp-modules/packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/lisp-modules/packages.nix')
-rw-r--r--pkgs/development/lisp-modules/packages.nix154
1 files changed, 139 insertions, 15 deletions
diff --git a/pkgs/development/lisp-modules/packages.nix b/pkgs/development/lisp-modules/packages.nix
index 3866cc7dd2c77..7afc6cb871379 100644
--- a/pkgs/development/lisp-modules/packages.nix
+++ b/pkgs/development/lisp-modules/packages.nix
@@ -108,18 +108,7 @@ let
     ];
   };
 
-  jzon = build-asdf-system {
-    src = pkgs.fetchzip {
-      url = "https://github.com/Zulu-Inuoe/jzon/archive/6b201d4208ac3f9721c461105b282c94139bed29.tar.gz";
-      sha256 = "01d4a78pjb1amx5amdb966qwwk9vblysm1li94n3g26mxy5zc2k3";
-    };
-    version = "0.0.0-20210905-6b201d4208";
-    pname = "jzon";
-    lispLibs = [
-      super.closer-mop
-    ];
-    systems = [ "com.inuoe.jzon" ];
-  };
+  jzon = super.com_dot_inuoe_dot_jzon;
 
   cl-notify = build-asdf-system {
     pname = "cl-notify";
@@ -430,8 +419,8 @@ let
         src = pkgs.fetchFromGitHub {
           owner = "andy128k";
           repo = "cl-gobject-introspection";
-          rev = "83beec4492948b52aae4d4152200de5d5c7ac3e9";
-          sha256 = "sha256-g/FwWE+Rzmzm5Y+irvd1AJodbp6kPHJIFOFDPhaRlXc=";
+          rev = "4908a84c16349929b309c50409815ff81fb9b3c4";
+          sha256 = "sha256-krVU5TQsVAbglxXMq29WJriWBIgQDLy1iCvB5iNziEc=";
         };}))
       (cl-webkit2.overrideAttrs (final: prev: {
         src = pkgs.fetchFromGitHub {
@@ -514,7 +503,7 @@ let
       (asdf:operate :program-op :nyxt/gi-gtk-application)
     '';
 
-    # TODO(kasper): use wrapGAppsHook
+    # TODO(kasper): use wrapGAppsHook3
     installPhase = ''
       mkdir -pv $out
       cp -r * $out
@@ -573,6 +562,23 @@ let
 
   stumpwm-unwrapped = super.stumpwm;
 
+  clfswm = super.clfswm.overrideAttrs (o: rec {
+    buildScript = pkgs.writeText "build-clfswm.lisp" ''
+      (load "${o.asdfFasl}/asdf.${o.faslExt}")
+      (asdf:load-system 'clfswm)
+      (sb-ext:save-lisp-and-die
+        "clfswm"
+        :executable t
+        #+sb-core-compression :compression
+        #+sb-core-compression t
+        :toplevel #'clfswm:main)
+    '';
+    installPhase = o.installPhase + ''
+      mkdir -p $out/bin
+      mv $out/clfswm $out/bin
+    '';
+  });
+
   ltk = super.ltk.overrideLispAttrs (o: {
     src = pkgs.fetchzip {
       url = "https://github.com/uthar/ltk/archive/f19162e76d6c7c2f51bd289b811d9ba20dd6555e.tar.gz";
@@ -816,6 +822,124 @@ let
     lispLibs = oa.lispLibs ++ [ self.sb-cga ];
   });
 
+  qlot-cli = build-asdf-system rec {
+    pname = "qlot";
+    version = "1.5.2";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "fukamachi";
+      repo = "qlot";
+      rev = "refs/tags/${version}";
+      hash = "sha256-j9iT25Yz9Z6llCKwwiHlVNKLqwuKvY194LrAzXuljsE=";
+    };
+
+    lispLibs = with super; [
+      archive
+      deflate
+      dexador
+      fuzzy-match
+      ironclad
+      lparallel
+      yason
+    ];
+
+    nativeLibs = [
+      pkgs.openssl
+    ];
+
+    nativeBuildInputs = [
+      pkgs.makeWrapper
+    ];
+
+    buildScript = pkgs.writeText "build-qlot-cli" ''
+      (load "${self.qlot-cli.asdfFasl}/asdf.${self.qlot-cli.faslExt}")
+      (asdf:load-system :qlot/command)
+      (asdf:load-system :qlot/subcommands)
+
+      ;; Use uiop:dump-image instead of sb-ext:dump-image for the image restore hooks
+      (setf uiop:*image-entry-point* #'qlot/cli:main)
+      (uiop:dump-image "qlot"
+                       :executable t
+                       #+sb-core-compression :compression
+                       #+sb-core-compression t)
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/bin
+      cp qlot.asd $out
+      rm *.asd
+      cp -r * $out
+
+      mv $out/qlot $out/bin
+      wrapProgram $out/bin/qlot \
+        --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH
+
+      runHook postInstall
+    '';
+
+    meta.mainProgram = "qlot";
+  };
+
+  misc-extensions = super.misc-extensions.overrideLispAttrs (old: rec {
+    version = "4.0.3";
+    src = pkgs.fetchFromGitLab {
+      domain = "gitlab.common-lisp.net";
+      owner = "misc-extensions";
+      repo = "misc-extensions";
+      rev = "v${version}";
+      hash = "sha256-bDNI4mIaNw/rf7ZwvwolKo6+mUUxsgubGUd/988sHAo=";
+    };
+  });
+
+  fset = super.fset.overrideLispAttrs (old: rec {
+    version = "1.4.0";
+    src = pkgs.fetchFromGitHub {
+      owner = "slburson";
+      repo = "fset";
+      rev = "v${version}";
+      hash = "sha256-alO8Ek5Xpyl5N99/LgyIZ50aoRbY7bKh3XBntFV6Q5k=";
+    };
+    lispLibs = with super; [
+      self.misc-extensions
+      mt19937
+      named-readtables
+    ];
+    meta = {
+      description = "functional collections library";
+      homepage = "https://gitlab.common-lisp.net/fset/fset/-/wikis/home";
+      license = pkgs.lib.licenses.llgpl21;
+    };
+  });
+
+  coalton = build-asdf-system {
+    pname = "coalton";
+    version = "trunk";
+    src = pkgs.fetchFromGitHub {
+      owner = "coalton-lang";
+      repo = "coalton";
+      rev = "05111b8a59e3f7346b175ce1ec621bff588e1e1f";
+      hash = "sha256-L9o7Y3zDx9qLXGe/70c1LWEKUWsSRgBQru66mIuaCFw=";
+    };
+    lispLibs = with super; [
+      alexandria
+      eclector-concrete-syntax-tree
+      fiasco
+      float-features
+      self.fset
+      named-readtables
+      trivial-garbage
+    ];
+    nativeLibs = [ pkgs.mpfr ];
+    systems = [ "coalton" "coalton/tests" ];
+    meta = {
+      description = "statically typed functional programming language that supercharges Common Lisp";
+      homepage = "https://coalton-lang.github.io";
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
   });
 
 in packages