From 976f5e2dd39c7b871e10b3b710c2e45be6d3735e Mon Sep 17 00:00:00 2001 From: Xiangyan Sun Date: Thu, 9 Apr 2026 14:16:02 -0700 Subject: [PATCH] gcal: 4.1 -> 4.2.0 --- .../by-name/gc/gcal/add-missing-include.patch | 9 ++++++ pkgs/by-name/gc/gcal/fix-gnulib-link.patch | 17 ++++++++++ pkgs/by-name/gc/gcal/package.nix | 32 +++++++++++++------ 3 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 pkgs/by-name/gc/gcal/add-missing-include.patch create mode 100644 pkgs/by-name/gc/gcal/fix-gnulib-link.patch diff --git a/pkgs/by-name/gc/gcal/add-missing-include.patch b/pkgs/by-name/gc/gcal/add-missing-include.patch new file mode 100644 index 000000000000..fb9fb6d4a93e --- /dev/null +++ b/pkgs/by-name/gc/gcal/add-missing-include.patch @@ -0,0 +1,9 @@ +diff --git a/tests/check_utils.c b/tests/check_utils.c +index 7229e4b..a422af4 100644 +--- a/tests/check_utils.c ++++ b/tests/check_utils.c +@@ -1,3 +1,4 @@ ++#include "../config.h" + #include + + #include "../src/tailor.h" diff --git a/pkgs/by-name/gc/gcal/fix-gnulib-link.patch b/pkgs/by-name/gc/gcal/fix-gnulib-link.patch new file mode 100644 index 000000000000..aa1c379ca462 --- /dev/null +++ b/pkgs/by-name/gc/gcal/fix-gnulib-link.patch @@ -0,0 +1,17 @@ +diff --git a/tests/Makefile.in b/tests/Makefile.in +index c45abcc..01727ef 100644 +--- a/tests/Makefile.in ++++ b/tests/Makefile.in +@@ -2003,11 +2003,7 @@ GCAL_OBJS = \ + ../src/utils.o + + GCAL_GNULIB_OBJS = \ +- ../lib/fclose.o \ +- ../lib/fflush.o \ +- ../lib/fseeko.o \ +- ../lib/ioctl.o \ +- ../lib/tmpdir.o ++ ../lib/libgnu.a + + check_gcal_SOURCES = check_gcal.c \ + check_file-io.c \ diff --git a/pkgs/by-name/gc/gcal/package.nix b/pkgs/by-name/gc/gcal/package.nix index c00dc6778a0d..948806db441e 100644 --- a/pkgs/by-name/gc/gcal/package.nix +++ b/pkgs/by-name/gc/gcal/package.nix @@ -4,31 +4,45 @@ fetchurl, ncurses, gettext, - fetchpatch, + pkg-config, + check, + versionCheckHook, }: stdenv.mkDerivation (finalAttrs: { pname = "gcal"; - version = "4.1"; + version = "4.2.0"; src = fetchurl { - url = "mirror://gnu/gcal/gcal-${finalAttrs.version}.tar.xz"; - sha256 = "1av11zkfirbixn05hyq4xvilin0ncddfjqzc4zd9pviyp506rdci"; + url = "https://www.alteholz.dev/gnu/gcal-${finalAttrs.version}.tar.xz"; + hash = "sha256-2L0tdBHnglHWcGSqDxymClI7+FbuPm2J0H2FoSM0eNw="; }; patches = [ - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/gcal/raw/master/f/gcal-glibc-no-libio.patch"; - sha256 = "0l4nw9kgzsay32rsdwvs75pbp4fhx6pfm85paynfbd20cdm2n2kv"; - }) + ./add-missing-include.patch + ./fix-gnulib-link.patch ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-implicit-function-declaration"; + env = { + NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-implicit-function-declaration"; + # For check_gcal + NIX_LDFLAGS = "-lm"; + }; enableParallelBuilding = true; buildInputs = [ ncurses ] ++ lib.optional stdenv.hostPlatform.isDarwin gettext; + nativeBuildInputs = [ + pkg-config + check + ]; + + doCheck = true; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + meta = { description = "Program for calculating and printing calendars"; longDescription = ''