mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 10:58:02 +00:00
73 lines
1.8 KiB
Nix
73 lines
1.8 KiB
Nix
{ stdenv
|
|
, lib
|
|
, guile_3_0
|
|
, guile-config
|
|
, fetchFromGitLab
|
|
, autoreconfHook
|
|
, pkg-config
|
|
, texinfo
|
|
, makeWrapper
|
|
}:
|
|
|
|
let modules = [ guile-config ];
|
|
in stdenv.mkDerivation rec {
|
|
pname = "guile-hall";
|
|
version = "0.4.1";
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "a-sassmannshausen";
|
|
repo = pname;
|
|
rev = version;
|
|
sha256 = "sha256-TUCN8kW44X6iGbSJURurcz/Tc2eCH1xgmXH1sMOMOXs=";
|
|
};
|
|
|
|
nativeBuildInputs = [ pkg-config autoreconfHook texinfo makeWrapper ];
|
|
propagatedBuildInputs = [ guile_3_0 ];
|
|
buildInputs = modules;
|
|
|
|
postConfigure = ''
|
|
sed -i '/moddir\s*=/s%=.*%=''${out}/share/guile/site%' Makefile
|
|
sed -i '/godir\s*=/s%=.*%=''${out}/share/guile/site%' Makefile
|
|
sed -i '/ccachedir\s*=/s%=.*%=''${out}/share/guile/site%' Makefile
|
|
'';
|
|
|
|
GUILE_LOAD_PATH =
|
|
let
|
|
guilePath = [ "\${out}/share/guile/site" ] ++ (lib.concatMap
|
|
(module: [
|
|
"${module}/share/guile/site"
|
|
"${module}/share/guile"
|
|
"${module}/share"
|
|
])
|
|
modules);
|
|
in
|
|
lib.concatStringsSep ":" guilePath;
|
|
|
|
GUILE_LOAD_COMPILED_PATH =
|
|
let
|
|
guilePath = [ "\${out}/share/guile/ccache" "\${out}/share/guile/site" ]
|
|
++ (lib.concatMap
|
|
(module: [
|
|
"${module}/share/guile/ccache"
|
|
"${module}/share/guile/site"
|
|
"${module}/share/guile"
|
|
"${module}/share"
|
|
])
|
|
modules);
|
|
in
|
|
lib.concatStringsSep ":" guilePath;
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/hall \
|
|
--prefix GUILE_LOAD_PATH : "${GUILE_LOAD_PATH}" \
|
|
--prefix GUILE_LOAD_COMPILED_PATH : "${GUILE_LOAD_COMPILED_PATH}"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Command-line application for managing Guile projects";
|
|
homepage = "https://gitlab.com/a-sassmannshausen/guile-hall";
|
|
license = licenses.gpl3Only;
|
|
mainProgram = "hall";
|
|
};
|
|
}
|