Unverified Commit 047b105d authored by 7c6f434c's avatar 7c6f434c Committed by GitHub
Browse files

lisp-modules: mass updates - including new quicklisp dist (#349892)

parents d5627dfc f6b9e011
Loading
Loading
Loading
Loading
+5194 −4010

File changed.

Preview size limit exceeded, changes collapsed.

+13 −1
Original line number Diff line number Diff line
@@ -177,15 +177,23 @@ let
        asdf = "${asdfFasl}/asdf.${faslExt}";
      };

      preConfigure = ''
      configurePhase = ''
        runHook preConfigure

        source ${./setup-hook.sh}
        buildAsdfPath

        runHook postConfigure
      '';

      buildPhase = optionalString (src != null) ''
        runHook preBuild

        export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$src//
        export ASDF_OUTPUT_TRANSLATIONS="$src:$(pwd):${storeDir}:${storeDir}"
        ${pkg}/bin/${program} ${toString flags} < $buildScript

        runHook postBuild
      '';

      # Copy compiled files to store
@@ -200,6 +208,8 @@ let
            concatMapStringsSep "\\|" (replaceStrings ["." "+"] ["[.]" "[+]"]) systems;
        in
      ''
        runHook preInstall

        mkdir -pv $out
        cp -r * $out

@@ -207,6 +217,8 @@ let
        find $out -name "*.asd" \
        | grep -v "/\(${mkSystemsRegex systems}\)\.asd$" \
        | xargs rm -fv || true

        runHook postInstall
      '';

      dontPatchShebangs = true;
+73 −220
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ let
    setAttr
    hasAttr
    optionals
    isDerivation
    hasSuffix
    splitString
    remove
@@ -23,23 +24,33 @@ let
  # E.g. cl-unicode creating .txt files during compilation
  build-with-compile-into-pwd = args:
    let
      build = (build-asdf-system (args // { version = args.version + "-build"; }))
      args' = if isDerivation args then args.drvAttrs else args;
      build = (build-asdf-system (args' // { version = args'.version + "-build"; }))
        .overrideAttrs(o: {
          buildPhase = with builtins; ''
            runHook preBuild

            mkdir __fasls
            export ASDF_OUTPUT_TRANSLATIONS="$(pwd):$(pwd)/__fasls:${storeDir}:${storeDir}"
            export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$(pwd)//
            ${o.pkg}/bin/${o.program} ${toString (o.flags or [])} < ${o.buildScript}

            runHook postBuild
          '';
          installPhase = ''
            runHook preInstall

            mkdir -pv $out
            rm -rf __fasls
            cp -r * $out

            runHook postInstall
          '';
        });
    in build-asdf-system (args // {
    in build-asdf-system (args' // {
      # Patches are already applied in `build`
      patches = [];
      postPatch = "";
      src = build;
    });

@@ -49,39 +60,11 @@ let

  packages = ql.overrideScope (self: super: {

  cl-environments = super.cl-environments.overrideLispAttrs (old: {
    patches = old.patches or [] ++ [
      # Needed because SB-INT:TRULY-DYNAMIC-EXTENT has been removed since sbcl 2.3.10.
      # The update isn't available on quicklisp yet, but we can fetch from upstream directly
      (pkgs.fetchpatch {
        url = "https://github.com/alex-gutev/cl-environments/commit/1bd7ecf68adeaf654616c6fb763c1239e0f2e221.patch";
        sha256 = "sha256-i6KdthYqPlJPvxM2c2kossHYvXNhpZHl/7NzELNrOHU=";
      })
    ];
  });

  cl-unicode = build-with-compile-into-pwd {
    inherit (super.cl-unicode) pname version src systems;
    lispLibs = super.cl-unicode.lispLibs ++ [ self.flexi-streams ];
  };

  dissect = super.dissect.overrideAttrs {
    version = "1.0.0-trunk";
    src = pkgs.fetchFromGitHub {
      owner = "Shinmera";
      repo = "dissect";
      rev = "a70cabcd748cf7c041196efd711e2dcca2bbbb2c";
      hash = "sha256-WXv/jbokgKJTc47rBjvOF5npnqDlsyr8oSXIzN/7ofo=";
    };
  };

  cl-gobject-introspection = super.cl-gobject-introspection.overrideLispAttrs (o: {
    postPatch = ''
      substituteInPlace src/init.lisp \
        --replace sb-ext::set-floating-point-modes sb-int:set-floating-point-modes
    '';
  });

  jzon = super.com_dot_inuoe_dot_jzon;

  cl-notify = build-asdf-system {
@@ -99,12 +82,7 @@ let
    ];
  };

  cl-liballegro-nuklear = build-with-compile-into-pwd {
    inherit (super.cl-liballegro-nuklear) pname version src;
    nativeBuildInputs = [ pkgs.allegro5 ];
    nativeLibs = [ pkgs.allegro5 ];
    lispLibs = super.cl-liballegro-nuklear.lispLibs ++ [ self.cl-liballegro ];
  };
  cl-liballegro-nuklear = build-with-compile-into-pwd super.cl-liballegro-nuklear;

  lessp = build-asdf-system {
    pname = "lessp";
@@ -182,9 +160,15 @@ let
  cephes = build-with-compile-into-pwd {
    inherit (super.cephes) pname version src lispLibs;
    patches = [ ./patches/cephes-make.patch ];
    postPatch = ''
      find \( -name '*.dll' -o -name '*.dylib' -o -name '*.so' \) -delete
    '';
    postConfigure = ''
      substituteAllInPlace cephes.asd
    '';
    postInstall = ''
      find $out -name '*.o' -delete
    '';
  };

  clx-truetype = build-asdf-system {
@@ -266,37 +250,9 @@ let
    inherit (super.magicl) pname version src lispLibs;
    nativeBuildInputs = [ pkgs.gfortran ];
    nativeLibs = [ pkgs.openblas ];
    patches = [ ./patches/magicl-dont-build-fortran-twice.patch ];
  };

  cl-glib = build-asdf-system {
    pname = "cl-glib";
    version = "1.0.0";
    src = pkgs.fetchFromGitHub {
      owner = "bohonghuang";
      repo = "cl-glib";
      rev = "84b128192d6b11cf03f1150e474a23368f07edff";
      hash = "sha256-A56Yz+W4n1rAxxZg15zfkrLMbKMEG/zsWqaX7+kx4Qg=";
    };
    lispLibs = with self; [
      cl-gobject-introspection-wrapper
      bordeaux-threads
    ];
  };

  cl-glib_dot_gio = build-asdf-system {
    pname = "cl-glib.gio";
    version = "1.0.0";
    src = pkgs.fetchFromGitHub {
      owner = "bohonghuang";
      repo = "cl-glib";
      rev = "84b128192d6b11cf03f1150e474a23368f07edff";
      hash = "sha256-A56Yz+W4n1rAxxZg15zfkrLMbKMEG/zsWqaX7+kx4Qg=";
    };
    lispLibs = with self; [
      cl-gobject-introspection-wrapper
    ];
  };
  cl-glib_dot_gio = throw "cl-glib_dot_gio was replaced by cl-gio";

  cl-gtk4 = build-asdf-system {
    pname = "cl-gtk4";
@@ -304,13 +260,14 @@ let
    src = pkgs.fetchFromGitHub {
      owner = "bohonghuang";
      repo = "cl-gtk4";
      rev = "e18f621b996fd986d9829d590203c690440dee64";
      hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
      rev = "ff60e3495cdbba5c09d0bb8aa49f3184cc060c8e";
      hash = "sha256-06cyPf+5z+GE3YvZEJ67kC281nkwRz/hoaykTISsni0=";
    };
    lispLibs = with self; [
      cl-gobject-introspection-wrapper
      cl-glib
      cl-glib_dot_gio
      cl-gio
      cl-gobject
    ];
    nativeBuildInputs = [
      pkgs.gobject-introspection
@@ -323,13 +280,8 @@ let

  cl-gtk4_dot_adw = build-asdf-system {
    pname = "cl-gtk4.adw";
    version = "1.0.0";
    src = pkgs.fetchFromGitHub {
      owner = "bohonghuang";
      repo = "cl-gtk4";
      rev = "e18f621b996fd986d9829d590203c690440dee64";
      hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
    };
    version = self.cl-gtk4.version;
    src = self.cl-gtk4.src;
    lispLibs = with self; [
      cl-gobject-introspection-wrapper
      cl-gtk4
@@ -342,15 +294,12 @@ let
    ];
  };

  cl-gtk4_dot_webkit2 = build-asdf-system {
    pname = "cl-gtk4.webkit2";
    version = "1.0.0";
    src = pkgs.fetchFromGitHub {
      owner = "bohonghuang";
      repo = "cl-gtk4";
      rev = "e18f621b996fd986d9829d590203c690440dee64";
      hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
    };
  cl-gtk4_dot_webkit2 = throw "cl-gtk4_dot_webkit2 was replaced by cl-gtk4_dot_webkit";

  cl-gtk4_dot_webkit = build-asdf-system {
    pname = "cl-gtk4.webkit";
    version = self.cl-gtk4.version;
    src = self.cl-gtk4.src;
    lispLibs = with self; [
      cl-gobject-introspection-wrapper
      cl-gtk4
@@ -361,8 +310,6 @@ let
    nativeLibs = [
      pkgs.webkitgtk_6_0
    ];
    # Requires old webkitgtk_5_0 which was replaced by webkitgtk_6_0
    meta.broken = true;
  };

  cl-avro = build-asdf-system {
@@ -371,97 +318,43 @@ let
    src = pkgs.fetchFromGitHub {
      owner = "SahilKang";
      repo = "cl-avro";
      rev = "7d624253e98afb987a01729bd72c99bae02f0d7d";
      hash = "sha256-AlTn+Q1gKnAFEfcnz9+VeHz681pPIirg2za3VXYiNWk=";
      rev = "b8fa26320fa0ae88390215140d57f9cca937f691";
      hash = "sha256-acXsotvKWuffrLbrG9YJ8yZc5E6WC8N0qCFCAiX6N0Q=";
    };
    lispLibs = with self; [
      alexandria
      babel
      chipz
      closer-mop
      ieee-floats
      flexi-streams
      local-time
      local-time-duration
      md5
      salza2
      st-json
      time-interval
      alexandria babel chipz closer-mop ieee-floats flexi-streams local-time
      local-time-duration md5 salza2 st-json time-interval
      trivial-extensible-sequences
    ];
  };

  trivial-clock = build-asdf-system {
    pname = "trivial-clock";
    version = "trunk";
    src = pkgs.fetchFromGitHub {
      owner = "ak-coram";
      repo = "cl-trivial-clock";
      rev = "641e12ab1763914996beb1ceee67aabc9f1a3b1e";
      hash = "sha256-mltQEJ2asxyQ/aS/9BuWmN3XZ9bGmmkopcF5YJU1cPk=";
    };
    systems = [ "trivial-clock" "trivial-clock/test" ];
    lispLibs = [ self.cffi self.fiveam ];
  };

  frugal-uuid = build-asdf-system {
    pname = "frugal-uuid";
    version = "trunk";
    src = pkgs.fetchFromGitHub {
      owner = "ak-coram";
      repo = "cl-frugal-uuid";
      rev = "be27972333a16fc3f16bc7fbf9e3013b2123d75c";
      hash = "sha256-rWO43vWMibF8/OxL70jle5nhd9oRWC7+MI44KWrQD48=";
    };
    systems = [ "frugal-uuid"
  frugal-uuid = super.frugal-uuid.overrideLispAttrs (o: {
    systems = [
      "frugal-uuid"
      "frugal-uuid/non-frugal"
      "frugal-uuid/benchmark"
                "frugal-uuid/test" ];
    lispLibs = with self; [
      babel
      bordeaux-threads
      fiveam
      "frugal-uuid/test"
    ];
    lispLibs = o.lispLibs ++ (with self; [
      ironclad
      trivial-benchmark
      babel
      trivial-clock
    ];
  };
      trivial-benchmark
      fiveam
    ]);
  });

  duckdb = build-asdf-system {
    pname = "duckdb";
    version = "trunk";
    src = pkgs.fetchFromGitHub {
      owner = "ak-coram";
      repo = "cl-duckdb";
      rev = "3ed1df5ba5c738a0b7fed7aa73632ec86f558d09";
      hash = "sha256-AJMxhtDACe6WTwEOxLsC8y6uBaPqjt8HLRw/eIZI02E=";
    };
  duckdb = super.duckdb.overrideLispAttrs (o: {
    systems = [ "duckdb" "duckdb/test" "duckdb/benchmark" ];
    lispLibs = with self; [
      bordeaux-threads
      cffi-libffi
      cl-ascii-table
      cl-spark
      cl-ppcre
      frugal-uuid
      let-plus
      local-time
      local-time-duration
      periods
      float-features
    ];
    nativeLibs = with pkgs; [
      duckdb libffi
    ];
  };
  });

  polyclot = build-asdf-system {
    pname = "polyclot";
    version = "trunk";
    src = pkgs.fetchfossil {
      url = "https://fossil.turtleware.eu/polyclot";
      rev = "e678b3c3e002f53b446780406c9ed13f8451309d22a1dc50ced4dbeedf08a1ec";
      sha256 = "sha256-J08bU9HSVbzEivYtQsyIYPZJTrugj+jJSa4LglS0Olg=";
      url = "https://fossil.turtleware.eu/fossil.turtleware.eu/polyclot";
      rev = "18500c968b1fc1e2a915b5c70b8cddc4a2b54de51da4eedc5454e42bfea3b479";
      sha256 = "sha256-KgBL1QQN4iG6d8E9GlKAuxSwkrY6Zy7e1ZzEDGKad+A=";
    };
    systems = [ "eu.turtleware.polyclot" "eu.turtleware.polyclot/demo" ];
    lispLibs = with self; [ clim mcclim mcclim-layouts ];
@@ -473,29 +366,18 @@ let
    src = pkgs.fetchFromGitHub {
      owner = "kaveh808";
      repo = "kons-9";
      rev = "95ad44fac0566f445c4b7bd040339dcff75ee992";
      sha256 = "19rl7372j9f1cv2kl55r8vyf4dhcz4way4hkjgysbxzrb1psp17n";
      rev = "08770e7fbb839b91fd035f1cd4a50ecc81b42d57";
      sha256 = "sha256-Tit/qmOU5+zp43/ecIXGbh4CtgWzltWM7tHdVWkga0k=";
    };
    systems = [ "kons-9" "kons-9/testsuite" ];
    patches = [ ./patches/kons-9-fix-testsuite-compilation.patch ];
    lispLibs = with self; [
      closer-mop trivial-main-thread trivial-backtrace cffi cl-opengl cl-glu
      cl-glfw3 cl-paths-ttf zpb-ttf cl-vectors origin clobber
      cl-glfw3 cl-paths-ttf zpb-ttf cl-vectors origin clobber shasht
      org_dot_melusina_dot_confidence
    ];
  };

  sb-cga = build-asdf-system {
    pname = "sb-cga";
    version = "1.0.1";
    src = pkgs.fetchFromGitHub {
      owner = "nikodemus";
      repo = "sb-cga";
      rev = "9a554ea1c01cac998ff7eaa5f767bc5bcdc4c094";
      sha256 = "sha256-iBM+VXu6JRqGmeIFzfXbGot+elvangmfSpDB7DjFpPg";
    };
    lispLibs = [ self.alexandria ];
  };

  nsb-cga = super.nsb-cga.overrideLispAttrs (oa: {
    lispLibs = oa.lispLibs ++ [ self.sb-cga ];
  });
@@ -560,30 +442,8 @@ let
    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
    ];
  fset = super.fset.overrideLispAttrs (oa: {
    systems = [ "fset" "fset/test" ];
    meta = {
      description = "functional collections library";
      homepage = "https://gitlab.common-lisp.net/fset/fset/-/wikis/home";
@@ -591,32 +451,25 @@ let
    };
  });

  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
  thih-coalton = self.coalton;
  quil-coalton = self.coalton;
  coalton = super.coalton.overrideLispAttrs (oa: {
    systems = [
      "coalton"
      "thih-coalton"
      "quil-coalton"
      "thih-coalton/tests"
      "quil-coalton/tests"
      "coalton/tests"
    ];
    lispLibs = oa.lispLibs ++ [ self.fiasco ];
    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;
    };
  };
  });

  });

+16 −17
Original line number Diff line number Diff line
--- a/cephes.asd
+++ b/cephes.asd
@@ -5,7 +5,7 @@
@@ -16,7 +16,7 @@
   (defclass makefile (source-file) ((type :initform "m")))
   (defmethod perform ((o load-op) (c makefile)) t)
   (defmethod perform ((o compile-op) (c makefile))
-  (let* ((lib-dir (system-relative-pathname "cephes" "scipy-cephes"))
+  (let* ((lib-dir #P"@out@/scipy-cephes")
          (lib (make-pathname :directory `(:relative ,(namestring lib-dir))
                              :name "libmd"
                              :type #+darwin "dylib" #+(and unix (not darwin)) "so" #+(or windows win32) "dll"))
@@ -14,7 +14,7 @@
-    (let* ((lib-dir (system-relative-pathname "cephes" "scipy-cephes/"))
+    (let* ((lib-dir #P"@out@/scipy-cephes/")
            (lib (make-pathname :directory (pathname-directory lib-dir)
                                :name #+(or (and unix (not darwin)) windows win32) "libmd"
 			       #+(and darwin arm64) "libmd-arm64"
@@ -30,7 +30,7 @@
 	  (format *error-output* "Library ~S exists, skipping build" lib)
 	  (format *error-output* "Building ~S~%" lib))
       (unless built
-	(chdir (native-namestring lib-dir))
+	(chdir "scipy-cephes")
       (run-program "make" :output t))))
 	(run-program "make" :output t)))))
 
 (defsystem "cephes"
Diff finished.  Thu Mar 28 08:13:30 2024
+22 −0
Original line number Diff line number Diff line
--- a/testsuite/assertions.lisp
+++ b/testsuite/assertions.lisp
@@ -13,7 +13,7 @@
 relation when computing with floating point numbers. Two floating point numbers are
 essentially equal when they are in a neighbourhood whose size is based
 on the magnitude orders of these floating point numbers and the inaccuracy."
-  (:report
+   :report
    (lambda (stream)
      (flet ((maybe-report (name float1 float2)
 	      (unless (float-is-essentially-equal (p:y point1) (p:y point2) :inaccuracy inaccuracy)
@@ -29,7 +29,7 @@
 	    inaccuracy (confidence::float-comparison-threshold 'single-float max inaccuracy float1 float2)))))
        (maybe-report "X" (p:x point1) (p:x point2))
        (maybe-report "Y" (p:y point1) (p:y point2))
-       (maybe-report "Z" (p:z point1) (p:z point2)))))
+       (maybe-report "Z" (p:z point1) (p:z point2))))
   (and (float-is-essentially-equal (p:x point1) (p:x point2) :inaccuracy inaccuracy)
        (float-is-essentially-equal (p:y point1) (p:y point2) :inaccuracy inaccuracy)
        (float-is-essentially-equal (p:z point1) (p:z point2) :inaccuracy inaccuracy)))

Diff finished.  Sun Oct 20 03:05:54 2024
Loading