From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:48161) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hxssn-0000HO-8o for guix-patches@gnu.org; Wed, 14 Aug 2019 09:00:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hxssl-0004gG-UJ for guix-patches@gnu.org; Wed, 14 Aug 2019 09:00:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:40191) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hxssl-0004gC-RY for guix-patches@gnu.org; Wed, 14 Aug 2019 09:00:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hxssl-0004Bd-Oh for guix-patches@gnu.org; Wed, 14 Aug 2019 09:00:03 -0400 Subject: [bug#37027] [PATCH] gnu: zlib: Add support for MinGW targets. Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:48029) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hxsrn-00079H-0U for guix-patches@gnu.org; Wed, 14 Aug 2019 08:59:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hxsrl-0004Ol-Ln for guix-patches@gnu.org; Wed, 14 Aug 2019 08:59:02 -0400 Received: from mail-qk1-x732.google.com ([2607:f8b0:4864:20::732]:39655) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hxsrl-0004OW-GQ for guix-patches@gnu.org; Wed, 14 Aug 2019 08:59:01 -0400 Received: by mail-qk1-x732.google.com with SMTP id 125so9362370qkl.6 for ; Wed, 14 Aug 2019 05:59:01 -0700 (PDT) From: David Thompson Date: Wed, 14 Aug 2019 08:58:53 -0400 Message-Id: <20190814125853.18488-1-dthompson2@worcester.edu> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 37027@debbugs.gnu.org --- gnu/packages/compression.scm | 55 +++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 9834fcbe63..092eb4a54a 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -87,26 +87,43 @@ (arguments `(#:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; Zlib's home-made `configure' fails when passed - ;; extra flags like `--enable-fast-install', so we need to - ;; invoke it with just what it understand. - (let ((out (assoc-ref outputs "out"))) - ;; 'configure' doesn't understand '--host'. - ,@(if (%current-target-system) - `((setenv "CHOST" ,(%current-target-system))) - '()) - (invoke "./configure" - (string-append "--prefix=" out))))) + ,@(if (target-mingw?) + `((delete 'configure) + (add-before 'install 'set-install-paths + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "INCLUDE_PATH" (string-append out "/include")) + (setenv "LIBRARY_PATH" (string-append out "/lib")) + (setenv "BINARY_PATH" (string-append out "/bin")) + #t)))) + `((replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; Zlib's home-made `configure' fails when passed + ;; extra flags like `--enable-fast-install', so we need to + ;; invoke it with just what it understand. + (let ((out (assoc-ref outputs "out"))) + ;; 'configure' doesn't understand '--host'. + ,@(if (%current-target-system) + `((setenv "CHOST" ,(%current-target-system))) + '()) + (invoke "./configure" + (string-append "--prefix=" out))))))) (add-after 'install 'move-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (static (assoc-ref outputs "static"))) - (with-directory-excursion (string-append out "/lib") - (install-file "libz.a" (string-append static "/lib")) - (delete-file "libz.a") - #t))))))) + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (with-directory-excursion (string-append out "/lib") + (install-file "libz.a" (string-append static "/lib")) + (delete-file "libz.a") + #t))))) + ,@(if (target-mingw?) + `(#:make-flags + '("-fwin32/Makefile.gcc" + "SHARED_MODE=1" + ,(string-append "CC=" (%current-target-system) "-gcc") + ,(string-append "RC=" (%current-target-system) "-windres") + ,(string-append "AR=" (%current-target-system) "-ar"))) + '()))) (home-page "https://zlib.net/") (synopsis "Compression library") (description -- 2.17.1