Loading pkgs/servers/samba/4.x-fix-systemd-detection.patch 0 → 100644 +34 −0 Original line number Diff line number Diff line From 450a6183586243d907843c7d89973452b59d8b10 Mon Sep 17 00:00:00 2001 From: Tom Fitzhenry <tom@tom-fitzhenry.me.uk> Date: Fri, 17 Apr 2026 22:35:08 +0000 Subject: [PATCH] fix systemd detection after argparse migration --- lib/util/wscript | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/util/wscript b/lib/util/wscript index 425f659a2ed..b8baabfbea9 100644 --- a/lib/util/wscript +++ b/lib/util/wscript @@ -13,7 +13,7 @@ def options(opt): opt.add_option('--with-systemd', help=("Enable systemd integration"), - action='store_true', dest='enable_systemd') + action='store_true', dest='enable_systemd', default=None) opt.add_option('--without-systemd', help=("Disable systemd integration"), @@ -21,7 +21,7 @@ def options(opt): opt.add_option('--with-lttng', help=("Enable lttng integration"), - action='store_true', dest='enable_lttng') + action='store_true', dest='enable_lttng', default=None) opt.add_option('--without-lttng', help=("Disable lttng integration"), -- 2.53.0 pkgs/servers/samba/4.x.nix +9 −3 Original line number Diff line number Diff line Loading @@ -81,11 +81,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "samba"; version = "4.22.7"; version = "4.23.5"; src = fetchurl { url = "https://download.samba.org/pub/samba/stable/samba-${finalAttrs.version}.tar.gz"; hash = "sha256-EhlYEdRUL2YVNukFW0TVjFMCBBK+r6riBeInv3L2pJc="; hash = "sha256-WTpD3dDVeQIjffp2iI97Ast/x3RxETacsx4SbbSDa58="; }; outputs = [ Loading @@ -98,7 +98,13 @@ stdenv.mkDerivation (finalAttrs: { ./4.x-no-persistent-install.patch ./4.x-no-persistent-install-dynconfig.patch ./4.x-fix-makeflags-parsing.patch ./build-find-pre-built-heimdal-build-tools-in-case-of-.patch ./4.x-fix-systemd-detection.patch (fetchpatch { # workaround for https://bugzilla.samba.org/show_bug.cgi?id=14164 name = "build-find-pre-built-heimdal-build-tools-in-case-of-.patch"; url = "https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/fe5538114371b98c7350e6fffbfc0d1ac063719c/packages/network/samba/patches/samba-200-4.11-fix-ASN1-bso14164.patch"; hash = "sha256-0/c9TH5FZ4S1OoM04gwDBJoIN+10unjLSv7Hlwt9FEQ="; }) (fetchpatch { # workaround for https://github.com/NixOS/nixpkgs/issues/303436 name = "samba-reproducible-builds.patch"; Loading pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patchdeleted 100644 → 0 +0 −63 Original line number Diff line number Diff line From 475ec75a34002aafabc92659f693cf705c96aff4 Mon Sep 17 00:00:00 2001 From: Nick Cao <nickcao@nichi.co> Date: Thu, 21 Nov 2024 15:30:00 -0500 Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded heimdal This patch fixes the case of finding asn1_compile and compile_et for building embedded heimdal, by setting --bundled-libraries='!asn1_compile,!compile_et' as configure flags. The Heimdal build tools compile_et and asn1_compile are needed *only* if we use the embedded heimdal (otherwise we don't build heimdal and use headers that have been generated by those tools elsewhere). For cross-compilation with embedded heimdal, it is vital to use host build tools, and so asn1_compile and compile_et must be supplied and not built. One way of doing this would be to set the COMPILE_ET and ASN1_COMPILE env vars to the location of supplied binaries. Another way, which is more commonly used, is to exclude asn1_compile and compile_et from bundled packages via the switch -bundled-libraries='!asn1_compile,!compile_et'. When this is done, the build script searches the path for those tools and sets the ASN1_COMPILE and COMPILE_ET vars accordingly. (this is admittedly kind of a round-about way of doing things but this has become the de-facto standard amongst embedded distro builders). In commit 8061983d4882f3ba3f12da71443b035d7b672eec, this process of finding the binaris has been moved to be carried out only in the system heimdal case. As explained above, we only need these tools, and hence the check, in bundled mode. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164 Signed-off-by: Uri Simchoni <uri@samba.org> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> [Bachp: rebased for version 4.15.0] [Mats: rebased for version 4.18.5] [hexa: rebased for version 4.22.3] --- wscript_configure_embedded_heimdal | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal index c1488e5506e..ede28ba7fc3 100644 --- a/wscript_configure_embedded_heimdal +++ b/wscript_configure_embedded_heimdal @@ -15,3 +15,14 @@ conf.RECURSE('third_party/heimdal_build') conf.define('HAVE_CLIENT_GSS_C_CHANNEL_BOUND_FLAG', 1) conf.define('HAVE_KRB5_INIT_CREDS_STEP', 1) + +def check_system_heimdal_binary(name): + if conf.LIB_MAY_BE_BUNDLED(name): + return False + if not conf.find_program(name, var=name.upper()): + return False + conf.define('USING_SYSTEM_%s' % name.upper(), 1) + return True + +check_system_heimdal_binary("compile_et") +check_system_heimdal_binary("asn1_compile") -- 2.50.1 Loading
pkgs/servers/samba/4.x-fix-systemd-detection.patch 0 → 100644 +34 −0 Original line number Diff line number Diff line From 450a6183586243d907843c7d89973452b59d8b10 Mon Sep 17 00:00:00 2001 From: Tom Fitzhenry <tom@tom-fitzhenry.me.uk> Date: Fri, 17 Apr 2026 22:35:08 +0000 Subject: [PATCH] fix systemd detection after argparse migration --- lib/util/wscript | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/util/wscript b/lib/util/wscript index 425f659a2ed..b8baabfbea9 100644 --- a/lib/util/wscript +++ b/lib/util/wscript @@ -13,7 +13,7 @@ def options(opt): opt.add_option('--with-systemd', help=("Enable systemd integration"), - action='store_true', dest='enable_systemd') + action='store_true', dest='enable_systemd', default=None) opt.add_option('--without-systemd', help=("Disable systemd integration"), @@ -21,7 +21,7 @@ def options(opt): opt.add_option('--with-lttng', help=("Enable lttng integration"), - action='store_true', dest='enable_lttng') + action='store_true', dest='enable_lttng', default=None) opt.add_option('--without-lttng', help=("Disable lttng integration"), -- 2.53.0
pkgs/servers/samba/4.x.nix +9 −3 Original line number Diff line number Diff line Loading @@ -81,11 +81,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "samba"; version = "4.22.7"; version = "4.23.5"; src = fetchurl { url = "https://download.samba.org/pub/samba/stable/samba-${finalAttrs.version}.tar.gz"; hash = "sha256-EhlYEdRUL2YVNukFW0TVjFMCBBK+r6riBeInv3L2pJc="; hash = "sha256-WTpD3dDVeQIjffp2iI97Ast/x3RxETacsx4SbbSDa58="; }; outputs = [ Loading @@ -98,7 +98,13 @@ stdenv.mkDerivation (finalAttrs: { ./4.x-no-persistent-install.patch ./4.x-no-persistent-install-dynconfig.patch ./4.x-fix-makeflags-parsing.patch ./build-find-pre-built-heimdal-build-tools-in-case-of-.patch ./4.x-fix-systemd-detection.patch (fetchpatch { # workaround for https://bugzilla.samba.org/show_bug.cgi?id=14164 name = "build-find-pre-built-heimdal-build-tools-in-case-of-.patch"; url = "https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/fe5538114371b98c7350e6fffbfc0d1ac063719c/packages/network/samba/patches/samba-200-4.11-fix-ASN1-bso14164.patch"; hash = "sha256-0/c9TH5FZ4S1OoM04gwDBJoIN+10unjLSv7Hlwt9FEQ="; }) (fetchpatch { # workaround for https://github.com/NixOS/nixpkgs/issues/303436 name = "samba-reproducible-builds.patch"; Loading
pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patchdeleted 100644 → 0 +0 −63 Original line number Diff line number Diff line From 475ec75a34002aafabc92659f693cf705c96aff4 Mon Sep 17 00:00:00 2001 From: Nick Cao <nickcao@nichi.co> Date: Thu, 21 Nov 2024 15:30:00 -0500 Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded heimdal This patch fixes the case of finding asn1_compile and compile_et for building embedded heimdal, by setting --bundled-libraries='!asn1_compile,!compile_et' as configure flags. The Heimdal build tools compile_et and asn1_compile are needed *only* if we use the embedded heimdal (otherwise we don't build heimdal and use headers that have been generated by those tools elsewhere). For cross-compilation with embedded heimdal, it is vital to use host build tools, and so asn1_compile and compile_et must be supplied and not built. One way of doing this would be to set the COMPILE_ET and ASN1_COMPILE env vars to the location of supplied binaries. Another way, which is more commonly used, is to exclude asn1_compile and compile_et from bundled packages via the switch -bundled-libraries='!asn1_compile,!compile_et'. When this is done, the build script searches the path for those tools and sets the ASN1_COMPILE and COMPILE_ET vars accordingly. (this is admittedly kind of a round-about way of doing things but this has become the de-facto standard amongst embedded distro builders). In commit 8061983d4882f3ba3f12da71443b035d7b672eec, this process of finding the binaris has been moved to be carried out only in the system heimdal case. As explained above, we only need these tools, and hence the check, in bundled mode. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164 Signed-off-by: Uri Simchoni <uri@samba.org> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> [Bachp: rebased for version 4.15.0] [Mats: rebased for version 4.18.5] [hexa: rebased for version 4.22.3] --- wscript_configure_embedded_heimdal | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal index c1488e5506e..ede28ba7fc3 100644 --- a/wscript_configure_embedded_heimdal +++ b/wscript_configure_embedded_heimdal @@ -15,3 +15,14 @@ conf.RECURSE('third_party/heimdal_build') conf.define('HAVE_CLIENT_GSS_C_CHANNEL_BOUND_FLAG', 1) conf.define('HAVE_KRB5_INIT_CREDS_STEP', 1) + +def check_system_heimdal_binary(name): + if conf.LIB_MAY_BE_BUNDLED(name): + return False + if not conf.find_program(name, var=name.upper()): + return False + conf.define('USING_SYSTEM_%s' % name.upper(), 1) + return True + +check_system_heimdal_binary("compile_et") +check_system_heimdal_binary("asn1_compile") -- 2.50.1