78 lines
1.8 KiB
Nix
78 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
fetchpatch,
|
|
autoreconfHook,
|
|
gdbm,
|
|
gmp,
|
|
libffi,
|
|
pkg-config,
|
|
readline,
|
|
texinfo,
|
|
versionCheckHook,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "librep";
|
|
version = "0.92.7";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "SawfishWM";
|
|
repo = "librep";
|
|
tag = "librep-${finalAttrs.version}";
|
|
hash = "sha256-0Ltysy+ilNhlXmvzSCMfF1n3x7F1idCRrhBFX/+n9uU=";
|
|
};
|
|
|
|
patches = [
|
|
# build: fix -Wimplicit-int, -Wimplicit-function-declaration (Clang 16)
|
|
(fetchpatch {
|
|
name = "fix-implicit-int";
|
|
url = "https://github.com/SawfishWM/librep/commit/48f557ab34d47a7a1fd9e8425542f720be40946e.patch";
|
|
hash = "sha256-MbFBNCgjEU1/QnjOe3uCWKVhpxo/E8c9q2TT3+CwPfY=";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
autoreconfHook
|
|
pkg-config
|
|
texinfo
|
|
];
|
|
|
|
buildInputs = [
|
|
gdbm
|
|
gmp
|
|
libffi
|
|
readline
|
|
];
|
|
|
|
strictDeps = true;
|
|
enableParallelBuilding = true;
|
|
|
|
# ensure libsystem/ctype functions don't get duplicated when using clang
|
|
configureFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "CFLAGS=-std=gnu89" ];
|
|
|
|
setupHook = ./setup-hook.sh;
|
|
|
|
nativeInstallCheckInputs = [
|
|
versionCheckHook
|
|
];
|
|
doInstallCheck = true;
|
|
versionCheckProgramArg = "--version";
|
|
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
|
|
|
|
meta = {
|
|
homepage = "http://sawfish.tuxfamily.org/";
|
|
description = "Fast, lightweight, and versatile Lisp environment";
|
|
longDescription = ''
|
|
librep is a Lisp system for UNIX, comprising an interpreter, a byte-code
|
|
compiler, and a virtual machine. It can serve as an application extension
|
|
language but is also suitable for standalone scripts.
|
|
'';
|
|
license = lib.licenses.gpl2Plus;
|
|
maintainers = [ ];
|
|
platforms = lib.platforms.unix;
|
|
mainProgram = "rep";
|
|
};
|
|
})
|