From babb4e173c60497b9d77650141a024ea2ffbd88c Mon Sep 17 00:00:00 2001 From: Petr Zahradnik Date: Sun, 23 Feb 2025 18:20:22 +0100 Subject: [PATCH] librep: fix build on gcc-14 & modernize --- pkgs/by-name/li/librep/package.nix | 31 +++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/li/librep/package.nix b/pkgs/by-name/li/librep/package.nix index 8cc45aade670..1524c799d44c 100644 --- a/pkgs/by-name/li/librep/package.nix +++ b/pkgs/by-name/li/librep/package.nix @@ -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