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

Merge pull request #300732 from philiptaron/remove-clpm

clpm: remove at 0.4.1
parents c3157283 ab48a1b5
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -19,11 +19,6 @@

let
  versionMap = {
    # Only kept around for BCLM. Remove once unneeded there.
    "2.1.9" = {
      sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
    };

    "2.4.2" = {
      sha256 = "sha256-/APLUtEqr+h1nmMoRQogG73fibFwcaToPznoC0Pd7w8=";
    };
@@ -103,11 +98,6 @@ stdenv.mkDerivation (self: rec {
    [ zstd ]
  );

  patches = lib.optionals (lib.versionOlder self.version "2.4.2") [
    # Fixed in 2.4.2
    ./search-for-binaries-in-PATH.patch
  ];

  # I don’t know why these are failing (on ofBorg), and I’d rather just disable
  # them and move forward with the succeeding tests than block testing
  # altogether. One by one hopefully we can fix these (on ofBorg,
+0 −108
Original line number Diff line number Diff line
From 35856b09e3606361b17f21225c759632be1cdf34 Mon Sep 17 00:00:00 2001
From: Hraban Luyat <hraban@0brg.net>
Date: Wed, 24 Jan 2024 14:58:53 -0500
Subject: [PATCH] Search for binaries in tests in PATH, not /usr/bin
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Same as 8ed662fbfeb5dde35eb265f390b55b01f79f70c1 but for tests, and for more
than just ‘cat’. For the same reasons as that diff.
---
 tests/run-program.impure.lisp | 18 ++++++++++--------
 tests/run-program.test.sh     |  9 ++++-----
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/tests/run-program.impure.lisp b/tests/run-program.impure.lisp
index 0eab8884c..b07d1e4fb 100644
--- a/tests/run-program.impure.lisp
+++ b/tests/run-program.impure.lisp
@@ -15,7 +15,7 @@
 
 (defun bin-pwd-ignoring-result ()
   (let ((initially-open-fds (directory "/proc/self/fd/*" :resolve-symlinks nil)))
-    (sb-ext:run-program "/usr/bin/pwd" nil :input :stream :output :stream :wait nil)
+    (sb-ext:run-program "pwd" nil :search t :input :stream :output :stream :wait nil)
     (length initially-open-fds)))
 
 (with-test (:name (run-program :autoclose-streams)
@@ -49,7 +49,7 @@
 (with-test (:name (run-program :cat 2)
                   :skipped-on (or (not :sb-thread) :win32))
   ;; Tests that reading from a FIFO is interruptible.
-  (let* ((process (run-program "/bin/cat" '()
+  (let* ((process (run-program "cat" '() :search t
                                :wait nil :output :stream :input :stream))
          (in (process-input process))
          (out (process-output process))
@@ -167,7 +167,7 @@
   (defparameter *cat-out* (make-synonym-stream '*cat-out-pipe*)))
 
 (with-test (:name (run-program :cat 5) :fails-on :win32)
-  (let ((cat (run-program "/bin/cat" nil :input *cat-in* :output *cat-out*
+  (let ((cat (run-program "cat" nil :search t :input *cat-in* :output *cat-out*
                           :wait nil)))
     (dolist (test '("This is a test!"
                     "This is another test!"
@@ -310,14 +310,16 @@
   (let ((had-error-p nil))
     (flet ((barf (&optional (format :default))
              (with-output-to-string (stream)
-               (run-program #-netbsd "/usr/bin/perl" #+netbsd "/usr/pkg/bin/perl"
+               (run-program #-netbsd "perl" #+netbsd "/usr/pkg/bin/perl"
                             '("-e" "print \"\\x20\\xfe\\xff\\x0a\"")
+                            :search #-netbsd t #+netbsd nil
                             :output stream
                             :external-format format)))
            (no-barf ()
              (with-output-to-string (stream)
-               (run-program "/bin/echo"
+               (run-program "echo"
                             '("This is a test")
+                            :search t
                             :output stream))))
       (handler-case
           (barf :utf-8)
@@ -353,9 +355,9 @@
                ;; If the permitted inputs are :ANY then leave it be
                (listp (symbol-value 'run-tests::*allowed-inputs*)))
       (push (namestring file) (symbol-value 'run-tests::*allowed-inputs*)))
-    (assert (null (run-program "/bin/cat" '() :input file)))
-    (assert (null (run-program "/bin/cat" '() :output #.(or *compile-file-truename*
-                                                            *load-truename*)
+    (assert (null (run-program "cat" '() :search t :input file)))
+    (assert (null (run-program "cat" '() :search t :output #.(or *compile-file-truename*
+                                                                 *load-truename*)
                                       :if-output-exists nil)))))
 
 
diff --git a/tests/run-program.test.sh b/tests/run-program.test.sh
index 48eaef889..c926e5a05 100755
--- a/tests/run-program.test.sh
+++ b/tests/run-program.test.sh
@@ -39,9 +39,8 @@ run_sbcl --eval "(defvar *exit-ok* $EXIT_LISP_WIN)" <<'EOF'
   (assert (not (zerop (sb-ext:process-exit-code
                        (sb-ext:run-program "false" () :search t :wait t)))))
   (let ((string (with-output-to-string (stream)
-                  (our-run-program    "/bin/echo"
-                                      '("foo" "bar")
-                                      :output stream))))
+                  (run-program  "echo" '("foo" "bar")
+                                :search t :output stream))))
     (assert (string= string "foo bar
 ")))
   (format t ";;; Smoke tests: PASS~%")
@@ -103,8 +102,8 @@ run_sbcl --eval "(defvar *exit-ok* $EXIT_LISP_WIN)" <<'EOF'
   ;; make sure that a stream input argument is basically reasonable.
   (let ((string (let ((i (make-string-input-stream "abcdef")))
                   (with-output-to-string (stream)
-                    (our-run-program "/bin/cat" ()
-                                        :input i :output stream)))))
+                    (run-program "cat" ()
+                                 :search t :input i :output stream)))))
     (assert (= (length string) 6))
     (assert (string= string "abcdef")))
 
-- 
2.43.0
+0 −73
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchgit
, wrapLisp
, openssl
, sbcl
}:

# Broken on newer versions:
# "https://gitlab.common-lisp.net/clpm/clpm/-/issues/51". Once that bug is
# fixed, remove this, and all 2.1.9 references from the SBCL build file.
with rec {
  sbcl_2_1_9 = sbcl.override (_: {
    version = "2.1.9";
  });
};


stdenv.mkDerivation rec {
  pname = "clpm";
  version = "0.4.1";

  src = fetchgit {
    url = "https://gitlab.common-lisp.net/clpm/clpm";
    rev = "v${version}";
    fetchSubmodules = true;
    sha256 = "sha256-UhaLmbdsIPj6O+s262HUMxuz/5t43JR+TlOjq8Y2CDs=";
  };

  propagatedBuildInputs = [
    openssl
  ];

  postPatch = ''
    # patch cl-plus-ssl to ensure that it finds libssl and libcrypto
    sed 's|libssl.so|${lib.getLib openssl}/lib/libssl.so|' -i ext/cl-plus-ssl/src/reload.lisp
    sed 's|libcrypto.so|${lib.getLib openssl}/lib/libcrypto.so|' -i ext/cl-plus-ssl/src/reload.lisp
    # patch dexador to avoid error due to dexador being loaded multiple times
    sed -i 's/defpackage/uiop:define-package/g' ext/dexador/src/dexador.lisp
  '';

  buildPhase = ''
    runHook preBuild

    # exporting home to avoid using /homeless-shelter/.cache/ as this will cause
    # ld to complaing about `impure path used in link`.
    export HOME=$TMP

    ${sbcl_2_1_9}/bin/sbcl --script scripts/build-release.lisp

    runHook postBuild
  '';

  installPhase = ''
    runHook preInstall

    cd build/release-staging/dynamic/clpm-${version}*/
    INSTALL_ROOT=$out/ bash install.sh

    runHook postInstall
  '';

  # Stripping binaries results in fatal error in SBCL, `Can't find sbcl.core`
  dontStrip = true;

  meta = with lib; {
    description = "Common Lisp Package Manager";
    homepage = "https://www.clpm.dev/";
    license = licenses.bsd2;
    maintainers = [ maintainers.petterstorvik ];
    platforms = [ "i686-linux" "x86_64-linux" ];
  };
}
+1 −0
Original line number Diff line number Diff line
@@ -172,6 +172,7 @@ mapAliases ({
  citra-canary = throw "citra-canary has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04
  clang-ocl = throw "'clang-ocl' has been replaced with 'rocmPackages.clang-ocl'"; # Added 2023-10-08
  inherit (libsForQt5.mauiPackages) clip; # added 2022-05-17
  clpm = throw "'clpm' has been removed from nixpkgs"; # Added 2024-04-01
  collada-dom = opencollada; # added 2024-02-21
  composable_kernel = throw "'composable_kernel' has been replaced with 'rocmPackages.composable_kernel'"; # Added 2023-10-08
  cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15
+0 −2
Original line number Diff line number Diff line
@@ -18579,8 +18579,6 @@ with pkgs;
  cloudfoundry-cli = callPackage ../applications/networking/cluster/cloudfoundry-cli { };
  clpm = callPackage ../development/tools/clpm { };
  coan = callPackage ../development/tools/analysis/coan { };
  coder = callPackage ../development/tools/coder { };