From e005bc00244fa23185ac3390d59ec732b0c018c2 Mon Sep 17 00:00:00 2001 From: control-o Date: Tue, 17 Mar 2026 23:08:37 +0100 Subject: [PATCH 1/2] guile-websocket: 0.2.1 -> 0.3.0 guile-hoot 0.8.0 build is partially broken and needs guile-websocket 0.3.0 to run hoot cli --- pkgs/by-name/gu/guile-websocket/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gu/guile-websocket/package.nix b/pkgs/by-name/gu/guile-websocket/package.nix index 14a04a1845f6..b5a4c04aebf9 100644 --- a/pkgs/by-name/gu/guile-websocket/package.nix +++ b/pkgs/by-name/gu/guile-websocket/package.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "guile-websocket"; - version = "0.2.1"; + version = "0.3.0"; src = fetchurl { url = "https://files.dthompson.us/releases/guile-websocket/guile-websocket-${finalAttrs.version}.tar.gz"; - hash = "sha256-MurFAPXYjp1oq9gNCIH2e8xLmVsMUH0OdCpTVxhffVU="; + hash = "sha256-G6bA0dF19KaLWM4AMldHfjkx/qDXBZOIGqcXfLmUg/w="; }; strictDeps = true; From 0e44b69db033d6b2feada010035118c80b16e263 Mon Sep 17 00:00:00 2001 From: control-o Date: Mon, 23 Mar 2026 21:15:11 +0100 Subject: [PATCH 2/2] guile-hoot: add missing dependencies for hoot repl Hoot 0.8.0 added a binary and two new modules `(hoot repl)` and `(hoot web-server)` that need `guile-fibers` and `guile-websocket` to be present during compilation. The hoot binary also needs to be wrapped and runs on nodejs so it was added as a dependency Co-authored-by: Jinser Kafka --- pkgs/by-name/gu/guile-hoot/package.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pkgs/by-name/gu/guile-hoot/package.nix b/pkgs/by-name/gu/guile-hoot/package.nix index a3bca3085e05..6849a75af93a 100644 --- a/pkgs/by-name/gu/guile-hoot/package.nix +++ b/pkgs/by-name/gu/guile-hoot/package.nix @@ -3,7 +3,12 @@ stdenv, fetchFromCodeberg, autoreconfHook, + makeWrapper, + nodejs, guile, + guile-websocket, + guile-fibers, + guile-gnutls, pkg-config, texinfo, nix-update-script, @@ -21,11 +26,30 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ + makeWrapper autoreconfHook guile pkg-config texinfo + nodejs ]; + propagatedBuildInputs = [ + guile-fibers + guile-websocket + guile-gnutls + ]; + + postInstall = + let + libs = [ "$out" ] ++ finalAttrs.propagatedBuildInputs; + in + '' + cp ./repl/repl.js $out/share/guile-hoot/0.8.0/repl/repl.js + wrapProgram $out/bin/hoot \ + --prefix GUILE_LOAD_PATH : ${lib.makeSearchPath guile.siteDir libs} \ + --prefix GUILE_LOAD_COMPILED_PATH : ${lib.makeSearchPath guile.siteCcacheDir libs} + ''; + buildInputs = [ guile ]; @@ -41,5 +65,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ jinser ]; platforms = lib.platforms.unix; + mainProgram = "hoot"; }; })