From 4df70cecb72829fd27d698d675a9c704b501a55a Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Fri, 5 Dec 2025 14:21:17 +0100 Subject: [PATCH 1/3] libqb: 2.0.8 -> 2.0.9 --- pkgs/by-name/li/libqb/package.nix | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/li/libqb/package.nix b/pkgs/by-name/li/libqb/package.nix index 07c42ad714c4..2e388b2c7e64 100644 --- a/pkgs/by-name/li/libqb/package.nix +++ b/pkgs/by-name/li/libqb/package.nix @@ -10,23 +10,15 @@ stdenv.mkDerivation rec { pname = "libqb"; - version = "2.0.8"; + version = "2.0.9"; src = fetchFromGitHub { owner = "ClusterLabs"; repo = "libqb"; - rev = "v${version}"; - sha256 = "sha256-ZjxC7W4U8T68mZy/OvWj/e4W9pJIj2lVDoEjxXYr/G8="; + tag = "v${version}"; + hash = "sha256-e3lXieKy3JqvuAIzXQjq6kDMfMmokXR/v3p4VQDIuOI="; }; - patches = [ - # add a declaration of fdatasync, missing on darwin https://github.com/ClusterLabs/libqb/pull/496 - (fetchpatch { - url = "https://github.com/ClusterLabs/libqb/commit/255ccb70ee19cc0c82dd13e4fd5838ca5427795f.patch"; - hash = "sha256-6x4B3FM0XSRIeAly8JtMOGOdyunTcbaDzUeBZInXR4U="; - }) - ]; - nativeBuildInputs = [ autoreconfHook pkg-config @@ -35,7 +27,7 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 ]; postPatch = '' - sed -i '/# --enable-new-dtags:/,/--enable-new-dtags is required/ d' configure.ac + sed -i '/# --enable-new-dtags:/,/esac/ d' configure.ac ''; meta = with lib; { From e765162566c4e46ed81995812bf09daf1a226e20 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Fri, 5 Dec 2025 14:29:31 +0100 Subject: [PATCH 2/3] libqb: modernize --- pkgs/by-name/li/libqb/package.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/li/libqb/package.nix b/pkgs/by-name/li/libqb/package.nix index 2e388b2c7e64..d4ff649c260f 100644 --- a/pkgs/by-name/li/libqb/package.nix +++ b/pkgs/by-name/li/libqb/package.nix @@ -8,14 +8,14 @@ libxml2, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libqb"; version = "2.0.9"; src = fetchFromGitHub { owner = "ClusterLabs"; repo = "libqb"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-e3lXieKy3JqvuAIzXQjq6kDMfMmokXR/v3p4VQDIuOI="; }; @@ -26,14 +26,16 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 ]; + # Remove configure check for linker flag `--enable-new-dtags`, which fails + # on darwin. The flag is never used by the Makefile anyway. postPatch = '' sed -i '/# --enable-new-dtags:/,/esac/ d' configure.ac ''; - meta = with lib; { + meta = { homepage = "https://github.com/clusterlabs/libqb"; description = "Library providing high performance logging, tracing, ipc, and poll"; - license = licenses.lgpl21Plus; - platforms = platforms.unix; + license = lib.licenses.lgpl21Plus; + platforms = lib.platforms.unix; }; -} +}) From 90d65c1f17a97735a74539b0f4f705f1609f3aaf Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Thu, 11 Dec 2025 11:20:00 +0100 Subject: [PATCH 3/3] libqb: improve reproducibility --- pkgs/by-name/li/libqb/package.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libqb/package.nix b/pkgs/by-name/li/libqb/package.nix index d4ff649c260f..51b18f0ef9c9 100644 --- a/pkgs/by-name/li/libqb/package.nix +++ b/pkgs/by-name/li/libqb/package.nix @@ -16,7 +16,18 @@ stdenv.mkDerivation (finalAttrs: { owner = "ClusterLabs"; repo = "libqb"; tag = "v${finalAttrs.version}"; - hash = "sha256-e3lXieKy3JqvuAIzXQjq6kDMfMmokXR/v3p4VQDIuOI="; + # Upstream uses .gitattributes to inject information about the revision + # hash and the refname into `configure.ac`, see: + # - https://git-scm.com/docs/gitattributes#_export_subst and + # - https://github.com/ClusterLabs/libqb/commit/d6875f29d6d1175f621e33d312fcace9a55f9094 + # Directly inject version and remove complicated logic + # https://github.com/ClusterLabs/libqb/blob/d6875f29d6d1175f621e33d312fcace9a55f9094/configure.ac#L9-L15 + postFetch = '' + substituteInPlace $out/configure.ac \ + --replace-fail "AC_INIT([libqb]," "AC_INIT([libqb], ${finalAttrs.version}," + sed -i '/m4_esyscmd(\[build-aux\/git-version-gen/ , /\]),/ d' $out/configure.ac + ''; + hash = "sha256-LhB7Q78heCmcgtcHqL+uEv0O2s4mXyfdTzmoCVqC0x0="; }; nativeBuildInputs = [