diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch')
-rw-r--r-- | nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch b/nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch new file mode 100644 index 000000000000..1c333bc6adb1 --- /dev/null +++ b/nixpkgs/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch @@ -0,0 +1,63 @@ +From 7e3c8ba66b86a21fe8e5bd9a595dd6fc03fa26d4 Mon Sep 17 00:00:00 2001 +From: Pascal Bach <pascal.bach@nextrem.ch> +Date: Wed, 22 Sep 2021 09:42:42 +0200 +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] +--- + wscript_configure_embedded_heimdal | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal +index 6066f2b39d7..e92cabad65f 100644 +--- a/wscript_configure_embedded_heimdal ++++ b/wscript_configure_embedded_heimdal +@@ -6,3 +6,14 @@ if not conf.env['BISON']: + + conf.define('USING_EMBEDDED_HEIMDAL', 1) + conf.RECURSE('third_party/heimdal_build') ++ ++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.41.0 + |