Message ID | 70b76f171502fc7122dbfd120093660616632980.camel@planete-kraus.eu |
---|---|
State | Accepted |
Headers | show |
Series | [bug#56505] Use the target predicates from (guix utils) | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Hi Vivien, Vivien Kraus <vivien@planete-kraus.eu> skribis: > antipode on #guix told me that these archaic tests to determine the > openssl target should be replaced with the new target predicates in > (guix utils), and that the kernel and the architecture should be dealt > with independently. Good idea. > However, it seems that mingw targets do not use the same scheme, so I > had to keep that special case. > > I had to introduce a new predicate for mips64el. As far as I > understand, this is also a 64-bit target, so it should also be detected > by target-64bit?, but fortunately this is already the case, so I don’t > have to change target-64bit?. I don’t think there are other predicates > that I should change, but I may be wrong. > > What do you think? I think that’s good! > From 4084fb014e84e6b15825c6c37dcdba8bde56fa4e Mon Sep 17 00:00:00 2001 > From: Vivien Kraus <vivien@planete-kraus.eu> > Date: Sat, 9 Jul 2022 23:39:16 +0200 > Subject: [PATCH v2 1/3] gnu: openssl: Cross-compile to mingw. > > * gnu/packages/tls.scm (target->openssl-target): Add cases for mingw and > mingw64. [...] > From e4631751a4e435a2125b5d72f665f6ec0ef5d6e1 Mon Sep 17 00:00:00 2001 > From: Vivien Kraus <vivien@planete-kraus.eu> > Date: Tue, 19 Jul 2022 20:05:45 +0200 > Subject: [PATCH v2 2/3] guix: Add target-mips64el?. > > * guix/utils.scm (target-mips64el?): New function. It detects whether the > target system is mips64el. [...] > From ae3bffd19c2887342e28372c3c613e998eb21840 Mon Sep 17 00:00:00 2001 > From: Vivien Kraus <vivien@planete-kraus.eu> > Date: Tue, 19 Jul 2022 20:09:14 +0200 > Subject: [PATCH v2 3/3] gnu: openssl: use target predicates from (guix utils) > for openssl. > > --- > gnu/packages/tls.scm | 65 ++++++++++++++++++++++++++------------------ > 1 file changed, 38 insertions(+), 27 deletions(-) Added a commit log to this one and committed, thanks! ‘guix build openssl --target=x86_64-w64-mingw32’ works and the funny part is that .dll files end up in bin/, but I think that’s intended on Windows? Ludo’.
From ae3bffd19c2887342e28372c3c613e998eb21840 Mon Sep 17 00:00:00 2001 From: Vivien Kraus <vivien@planete-kraus.eu> Date: Tue, 19 Jul 2022 20:09:14 +0200 Subject: [PATCH v2 3/3] gnu: openssl: use target predicates from (guix utils) for openssl. --- gnu/packages/tls.scm | 65 ++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index b838e75b5c..a32031acb8 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -359,33 +359,44 @@ (define (target->openssl-target target) ;; Keep this code outside the build code, ;; such that new targets can be added ;; without causing rebuilds for other targets. - (cond ((string-prefix? "i586" target) - "hurd-x86") - ((string-suffix? "mingw32" target) - (string-append - "mingw" - (if (string-prefix? "x86_64" target) - "64" - ""))) - ((string-prefix? "i686" target) - "linux-x86") - ((string-prefix? "x86_64" target) - "linux-x86_64") - ((string-prefix? "mips64el" target) - "linux-mips64") - ((string-prefix? "arm" target) - "linux-armv4") - ((string-prefix? "aarch64" target) - "linux-aarch64") - ((string-prefix? "powerpc64le" target) - "linux-ppc64le") - ((string-prefix? "powerpc64" target) - "linux-ppc64") - ((string-prefix? "powerpc" target) - "linux-ppc") - ((string-prefix? "riscv64" target) - ;; linux64-riscv64 isn't recognized until 3.0.0. - "linux-generic64"))) + (if (target-mingw? target) + (string-append + "mingw" + (if (target-x86-64? target) + "64" + "")) + (let ((kernel + (cond ((target-hurd? target) + "hurd") + ((target-linux? target) + "linux") + (else + (error "unsupported openssl target kernel")))) + (arch + (cond + ((target-x86-32? target) + "x86") + ((target-x86-64? target) + "x86_64") + ((target-mips64el? target) + "mips64") + ((target-arm32? target) + "armv4") + ((target-aarch64? target) + "aarch64") + ((target-ppc64le? target) + "ppc64le") + ((target-ppc32? target) + "ppc") + ((and (target-powerpc? target) + (target-64bit? target)) + "ppc64") + ((target-64bit? target) + ;; linux64-riscv64 isn't recognized until 3.0.0. + "generic64") + (else + (error "unsupported openssl target architecture"))))) + (string-append kernel "-" arch)))) (define-public openssl (package -- 2.36.1