librep: fix build on gcc-14 & modernize

This commit is contained in:
Petr Zahradnik
2025-02-23 18:20:22 +01:00
parent 509aac3fc3
commit babb4e173c

View File

@@ -1,7 +1,8 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
gdbm,
gmp,
@@ -9,17 +10,29 @@
pkg-config,
readline,
texinfo,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "librep";
version = "0.92.7";
src = fetchurl {
url = "https://download.tuxfamily.org/librep/librep_${finalAttrs.version}.tar.xz";
hash = "sha256-SKGWeax8BTCollfeGP/knFdZpf9w/IRJKLDl0AOVrK4=";
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
@@ -34,12 +47,20 @@ stdenv.mkDerivation (finalAttrs: {
];
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";
@@ -51,6 +72,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = lib.platforms.unix;
mainProgram = "rep";
};
})
# TODO: investigate fetchFromGithub