From 51d13e959ce4ab9082db71d555860f10bd313201 Mon Sep 17 00:00:00 2001 From: Anton Tetov Johansson Date: Mon, 29 Jun 2026 15:53:16 +0200 Subject: [PATCH 1/4] libdjinterop: 0.26.1 -> 0.27.1 Changes: https://github.com/xsco/libdjinterop/compare/0.26.1...0.27.1 --- pkgs/by-name/li/libdjinterop/package.nix | 13 ++----------- pkgs/by-name/mi/mixxx/package.nix | 2 +- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/li/libdjinterop/package.nix b/pkgs/by-name/li/libdjinterop/package.nix index 39a567f33569..306d05487111 100644 --- a/pkgs/by-name/li/libdjinterop/package.nix +++ b/pkgs/by-name/li/libdjinterop/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch2, boost, cmake, ninja, @@ -14,23 +13,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "libdjinterop"; - version = "0.26.1"; + version = "0.27.1"; src = fetchFromGitHub { owner = "xsco"; repo = "libdjinterop"; rev = finalAttrs.version; - hash = "sha256-HwNhCemqVR1xNSbcht0AuwTfpRhVi70ZH5ksSTSRFoc="; + hash = "sha256-Uiz2VZef0+H9NfPgOPT1XVBKCiTXC/n8VKVveXEy40c="; }; - patches = [ - # https://github.com/xsco/libdjinterop/pull/161 - (fetchpatch2 { - url = "https://github.com/xsco/libdjinterop/commit/94ce315cd5155bd031eeccfec12fbeb8e399dd14.patch"; - hash = "sha256-WahMsFeetSlHHiIyaC04YxTiXDxD1ooASqoIP2TK9R0="; - }) - ]; - nativeBuildInputs = [ cmake ninja diff --git a/pkgs/by-name/mi/mixxx/package.nix b/pkgs/by-name/mi/mixxx/package.nix index 56fe90569eef..aae7c95038a2 100644 --- a/pkgs/by-name/mi/mixxx/package.nix +++ b/pkgs/by-name/mi/mixxx/package.nix @@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: { # Should be removed when bumping to 2.6.x postPatch = '' substituteInPlace CMakeLists.txt \ - --replace-warn "LIBDJINTEROP_VERSION 0.24.3" "LIBDJINTEROP_VERSION 0.26.1" + --replace-warn "LIBDJINTEROP_VERSION 0.24.3" "LIBDJINTEROP_VERSION 0.27.1" ''; nativeBuildInputs = [ From 321fd718b7f79d392a99521cbbc0aa2d7d807bc9 Mon Sep 17 00:00:00 2001 From: Anton Tetov Johansson Date: Mon, 29 Jun 2026 15:53:16 +0200 Subject: [PATCH 2/4] libdjinterop: use nixpkgs howard-hinnant-date fixes https://github.com/xsco/libdjinterop/issues/185 --- pkgs/by-name/li/libdjinterop/package.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkgs/by-name/li/libdjinterop/package.nix b/pkgs/by-name/li/libdjinterop/package.nix index 306d05487111..6821840baa19 100644 --- a/pkgs/by-name/li/libdjinterop/package.nix +++ b/pkgs/by-name/li/libdjinterop/package.nix @@ -2,8 +2,10 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, boost, cmake, + howard-hinnant-date, ninja, pkg-config, sqlite, @@ -22,6 +24,21 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Uiz2VZef0+H9NfPgOPT1XVBKCiTXC/n8VKVveXEy40c="; }; + patches = [ + # https://github.com/xsco/libdjinterop/pull/188 + # adds options to use system howard-hinnant-date and sqlite_modern_cpp + # additionally bumps version in CMakeLists.txt, fixed in postPatch + (fetchpatch2 { + url = "https://github.com/xsco/libdjinterop/commit/d21f713440633e41d37df14c8e5cc16be7595a7a.patch"; + hash = "sha256-QPgSU1BYl+RAb3sJn5LkbqovhBgCLYw44+d8pr7Tx3M="; + }) + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-fail "VERSION 0.27.2" "VERSION 0.27.1" + ''; + nativeBuildInputs = [ cmake ninja @@ -35,10 +52,15 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ boost + howard-hinnant-date sqlite zlib ]; + cmakeFlags = [ + (lib.cmakeBool "SYSTEM_DATE_H" true) + ]; + meta = { homepage = "https://github.com/xsco/libdjinterop"; description = "C++ library for access to DJ record libraries"; From d308b9017aca443ace9f4e04ac8e0e2be6c31420 Mon Sep 17 00:00:00 2001 From: Anton Tetov Johansson Date: Mon, 29 Jun 2026 15:53:16 +0200 Subject: [PATCH 3/4] libdjinterop: enable tests and validation for pkg-config and cmake-config --- pkgs/by-name/li/libdjinterop/package.nix | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libdjinterop/package.nix b/pkgs/by-name/li/libdjinterop/package.nix index 6821840baa19..e2d5d40a7850 100644 --- a/pkgs/by-name/li/libdjinterop/package.nix +++ b/pkgs/by-name/li/libdjinterop/package.nix @@ -3,11 +3,12 @@ stdenv, fetchFromGitHub, fetchpatch2, + testers, + validatePkgConfig, boost, cmake, howard-hinnant-date, ninja, - pkg-config, sqlite, zlib, }: @@ -42,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ninja - pkg-config + validatePkgConfig ]; outputs = [ @@ -57,15 +58,34 @@ stdenv.mkDerivation (finalAttrs: { zlib ]; + propagatedBuildInputs = [ + howard-hinnant-date + sqlite + zlib + ]; + + strictDeps = true; + cmakeFlags = [ (lib.cmakeBool "SYSTEM_DATE_H" true) ]; + doCheck = true; + + passthru.tests = { + cmake-config = testers.hasCmakeConfigModules { + package = finalAttrs.finalPackage; + moduleNames = [ "DjInterop" ]; + }; + pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; + }; + meta = { homepage = "https://github.com/xsco/libdjinterop"; description = "C++ library for access to DJ record libraries"; license = lib.licenses.lgpl3; maintainers = with lib.maintainers; [ benley ]; platforms = lib.platforms.unix; + pkgConfigModules = [ "djinterop" ]; }; }) From c8d6e7790c69ead4c296e4d4ec7b79f027281fb7 Mon Sep 17 00:00:00 2001 From: Anton Tetov Johansson Date: Mon, 17 Aug 2026 15:00:08 +0200 Subject: [PATCH 4/4] libdjinterop: dont hardcode versions when patching CMakeLists.txt --- pkgs/by-name/li/libdjinterop/package.nix | 2 +- pkgs/by-name/mi/mixxx/package.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libdjinterop/package.nix b/pkgs/by-name/li/libdjinterop/package.nix index e2d5d40a7850..13d76010086d 100644 --- a/pkgs/by-name/li/libdjinterop/package.nix +++ b/pkgs/by-name/li/libdjinterop/package.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' substituteInPlace CMakeLists.txt \ - --replace-fail "VERSION 0.27.2" "VERSION 0.27.1" + --replace-fail "VERSION 0.27.2" "VERSION ${finalAttrs.version}" ''; nativeBuildInputs = [ diff --git a/pkgs/by-name/mi/mixxx/package.nix b/pkgs/by-name/mi/mixxx/package.nix index aae7c95038a2..64def560d5c0 100644 --- a/pkgs/by-name/mi/mixxx/package.nix +++ b/pkgs/by-name/mi/mixxx/package.nix @@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: { # Should be removed when bumping to 2.6.x postPatch = '' substituteInPlace CMakeLists.txt \ - --replace-warn "LIBDJINTEROP_VERSION 0.24.3" "LIBDJINTEROP_VERSION 0.27.1" + --replace-warn "LIBDJINTEROP_VERSION 0.24.3" "LIBDJINTEROP_VERSION ${libdjinterop.version}" ''; nativeBuildInputs = [