summary refs log tree commit diff
path: root/pkgs/development/guile-modules
diff options
context:
space:
mode:
authorGabriel Arazas <foodogsquared@foodogsquared.one>2023-09-21 20:52:02 +0000
committerGitHub <noreply@github.com>2023-09-21 22:52:02 +0200
commit22c5e1a0a017bf8235d47c15ecf3f6c8a557954c (patch)
treef4cb25ee56d68a58459a9ccdb6cc9c5b9ef74acf /pkgs/development/guile-modules
parentf88d082097324b39bcb262e565859337ced505d2 (diff)
downloadnixpkgs-22c5e1a0a017bf8235d47c15ecf3f6c8a557954c.tar
nixpkgs-22c5e1a0a017bf8235d47c15ecf3f6c8a557954c.tar.gz
nixpkgs-22c5e1a0a017bf8235d47c15ecf3f6c8a557954c.tar.bz2
nixpkgs-22c5e1a0a017bf8235d47c15ecf3f6c8a557954c.tar.lz
nixpkgs-22c5e1a0a017bf8235d47c15ecf3f6c8a557954c.tar.xz
nixpkgs-22c5e1a0a017bf8235d47c15ecf3f6c8a557954c.tar.zst
nixpkgs-22c5e1a0a017bf8235d47c15ecf3f6c8a557954c.zip
guile-ssh: clean up the package (#256541)
* guile-ssh: add foo-dogsquared as maintainer

* guile-ssh: reformat buildInputs

* guile-ssh: add patch for installing module

It makes for an easier time configuring the module installation.

* guile-ssh: remove extension patches

nixpkgs have properly initialized search paths for Guile extensions now
(at least for Guile 3.0.6 and above) so no need to patch the scheme.

* guile-ssh: enable checks

---------

Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
Diffstat (limited to 'pkgs/development/guile-modules')
-rw-r--r--pkgs/development/guile-modules/guile-ssh/default.nix43
1 files changed, 29 insertions, 14 deletions
diff --git a/pkgs/development/guile-modules/guile-ssh/default.nix b/pkgs/development/guile-modules/guile-ssh/default.nix
index e7654b747c3..a1928c78ce7 100644
--- a/pkgs/development/guile-modules/guile-ssh/default.nix
+++ b/pkgs/development/guile-modules/guile-ssh/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , guile
 , libssh
 , autoreconfHook
@@ -9,43 +10,57 @@
 , which
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "guile-ssh";
   version = "0.16.3";
 
   src = fetchFromGitHub {
     owner = "artyom-poptsov";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-P29U88QrCjoyl/wdTPZbiMoykd/v6ul6CW/IJn9UAyw=";
+    repo = "guile-ssh";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-P29U88QrCjoyl/wdTPZbiMoykd/v6ul6CW/IJn9UAyw=";
   };
 
-  configureFlags = [ "--with-guilesitedir=\${out}/${guile.siteDir}" ];
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/artyom-poptsov/guile-ssh/pull/31/commits/38636c978f257d5228cd065837becabf5da16854.patch";
+      hash = "sha256-J+TDgdjihKoEjhbeH+BzqrHhjpVlGdscRj3L/GAFgKg=";
+    })
+  ];
 
-  postFixup = ''
-    for f in $out/${guile.siteDir}/ssh/**.scm; do \
-      substituteInPlace $f \
-        --replace "libguile-ssh" "$out/lib/libguile-ssh"; \
-    done
-  '';
+  strictDeps = true;
 
   nativeBuildInputs = [
-    autoreconfHook pkg-config texinfo which
+    autoreconfHook
+    guile
+    pkg-config
+    texinfo
+    which
   ];
+
   buildInputs = [
     guile
   ];
+
   propagatedBuildInputs = [
     libssh
   ];
 
   enableParallelBuilding = true;
 
+  # FAIL: server-client.scm
+  doCheck = !stdenv.isDarwin;
+
+  postInstall = ''
+    mv $out/bin/*.scm $out/share/guile-ssh
+    rmdir $out/bin
+  '';
+
   meta = with lib; {
     description = "Bindings to Libssh for GNU Guile";
     homepage = "https://github.com/artyom-poptsov/guile-ssh";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ ethancedwards8 ];
+    maintainers = with maintainers; [ ethancedwards8 foo-dogsquared ];
     platforms = guile.meta.platforms;
   };
-}
+})