From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id bA9JNJwA+V52XAAA0tVLHw (envelope-from ) for ; Sun, 28 Jun 2020 20:42:04 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 8O2XL5wA+V5vRwAAbx9fmQ (envelope-from ) for ; Sun, 28 Jun 2020 20:42:04 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 55E0C940215 for ; Sun, 28 Jun 2020 20:42:04 +0000 (UTC) Received: from localhost ([::1]:55860 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jpe7n-0008C8-3w for larch@yhetil.org; Sun, 28 Jun 2020 16:42:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47206) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpe7e-0008Ao-5D for guix-devel@gnu.org; Sun, 28 Jun 2020 16:41:54 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:44962) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpe7b-00071n-FB for guix-devel@gnu.org; Sun, 28 Jun 2020 16:41:53 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 3b37b63f; Sun, 28 Jun 2020 20:41:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type; s=dkim; bh=18rkOEI9y0+OIxDbgf6tdzaM8nNfqEF8qb83sU wgjNc=; b=oAqZtBlBUMJCdclpnzsuPRLMJPiA+hWeVeEtk8vhmvQjrE2iAZLf89 VIDuRTFFd2dvy0LGMqH1OVDp4Sr4lRXoGmCgmXPHB2UqR1UMWXcpeJMH+WWNH6xC xyiUYMg043bqZoS++gQYuJ31o5xcvkeKlUY2LFjUgtVRb0UhSf+gdTmLwB5uDAl7 /KHMsKEpvx7XZ+fTNZ4aXtAH/JKHL4flZss7KBOl4adKj5nbIvJWQ/vKn5uy+NiI pdxyarYOmFhmU4Xc3Tov1PSJVIxVmG+2PiGZoksewvOsC+I+L3gNQ7RIuQwuwmfB z7dKVCZgKY6uFKArjWNT5DL/iBie826g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id c72ff46b (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Sun, 28 Jun 2020 20:41:46 +0000 (UTC) Date: Sun, 28 Jun 2020 22:41:35 +0200 From: Julien Lepiller To: =?UTF-8?B?QmrDtnJuIEjDtmZsaW5n?= Subject: Re: icu4j, antlr4, source archives without a root path Message-ID: <20200628224135.3852f91e@tachikoma.lepiller.eu> In-Reply-To: <20200512235758.101cefc3@alma-ubu> References: <5b42ff70-c6e3-e1f5-c1f8-101df1314f96@gmail.com> <20200512235758.101cefc3@alma-ubu> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/cbN/Bv/iZ/+5IAf_IofqnqT" Received-SPF: none client-ip=2a00:5884:8208::1; envelope-from=julien@lepiller.eu; helo=lepiller.eu X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=lepiller.eu header.s=dkim header.b=oAqZtBlB; dmarc=fail reason="SPF not aligned (relaxed)" header.from=lepiller.eu (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: j7Lt0dMX4d58 --MP_/cbN/Bv/iZ/+5IAf_IofqnqT Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Le Tue, 12 May 2020 23:57:58 +0200, Bj=C3=B6rn H=C3=B6fling a =C3=A9crit : > Hi Michael, >=20 > what is the central message of your email? Is it just to say "I gave > up, sorry", or do you need help at specific points? :-) >=20 > At least I can tell you that I have quite a bunch of work-in-progress > branches lying around because I start with "Oh, let's _just_ > update/fix/add this little program ..." and you end up in a chain of > needed updates, conflicting updates, broken states, etc. >=20 > Don't get confused by this :-) I try to plan my work step by step in > these situations, cleanly commit what's finished and write a personal > log of the success and failures and intermediate knowledge gained. >=20 > To the concrete java-icu4j: >=20 > What do you think about the attached patch (needs some clean-up)? >=20 > What's a bit uncommon about the project is that it builds separate > sub-projects and then combines them. I'm not sure about the output(s): > There are icu4j.jar, icu4j-charset.jar and icu4j-localespi.jar, I only > copied the first one as I think this is what the original package > definition did. >=20 > Bj=C3=B6rn Hi, I took your patch and changed it a bit to enable tests. They require JUnitParams, which we don't have, as well as some work to actually be able to run the tests without having the package try to download anything. Attached are two patches, that add java-junitparams and that update icu4j with the proper sources. I also tried to use the git repository, but that failed because three data archive files come from git-lfs and are not fetched by git-fetch, so I kept using the release tarball instead. I've rebuilt the few packages listed by guix refresh successfully. WDYT? --MP_/cbN/Bv/iZ/+5IAf_IofqnqT Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-gnu-Add-java-junitparams.patch >From 21f02625baa603e0f6c31a7f2a96dd26e3f27ded Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 28 Jun 2020 22:33:21 +0200 Subject: [PATCH 1/2] gnu: Add java-junitparams. * gnu/packages/java.scm (java-junitparams): New variable. --- gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 48f9a52a56..fc85d12aa5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3735,6 +3735,37 @@ JUnit provides assertions for testing expected results, test fixtures for sharing common test data, and test runners for running tests.") (license license:epl1.0))) +(define-public java-junitparams + (package + (name "java-junitparams") + (version "1.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Pragmatists/JUnitParams") + (commit (string-append "JUnitParams-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rb52xdfp99invyjrras3w0bf0a81cz30yd47rkkiyqcqj0y1q9b")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "junitparams.jar" + #:source-dir "src/main/java" + #:test-dir "src/test" + #:test-exclude (list "**/SuperclassTest.java"))) + (inputs + `(("java-junit" ,java-junit))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-assertj" ,java-assertj))) + (home-page "https://github.com/Pragmatists/JUnitParams") + (synopsis "Parameterised test support for JUnit") + (description "The JUnitParams project adds a new runner to JUnit and +provides much easier and readable parametrised tests for JUnit.") + (license license:asl2.0))) + (define-public java-plexus-utils (package (name "java-plexus-utils") -- 2.26.2 --MP_/cbN/Bv/iZ/+5IAf_IofqnqT Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0002-gnu-java-icu4c-Update-to-66.1-use-full-sources.patch =46rom d6dbe5507b24ef63b9f899e936ece422a401c21e Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Bj=3DC3=3DB6rn=3D20H=3DC3=3DB6fling?=3D Date: Tue, 12 May 2020 20:27:59 +0200 Subject: [PATCH 2/2] gnu: java-icu4c: Update to 66.1, use full sources. * gnu/packages/icu4c.scm (java-icu4c): Update to 66.1. [source]: Use full sources instead of jar-sources. [arguments]: Add chdir phase, replace install phase. Co-Authored-By: Julien Lepiller --- gnu/packages/icu4c.scm | 58 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 54a65365d7..b00d3172a4 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -6,6 +6,7 @@ ;;; Copyright =C2=A9 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2019, 2020 Marius Bakke ;;; Copyright =C2=A9 2019 Mathieu Othacehe +;;; Copyright =C2=A9 2020 Bj=C3=B6rn H=C3=B6fling ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ =20 (define-module (gnu packages icu4c) #:use-module (gnu packages) + #:use-module (gnu packages java) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (guix licenses) @@ -133,22 +135,56 @@ C/C++ part.") (define-public java-icu4j (package (name "java-icu4j") - (version "59.1") + (version "66.1") (source (origin (method url-fetch) - (uri (string-append "http://download.icu-project.org/files/i= cu4j/" - version "/icu4j-" - (string-map (lambda (x) - (if (char=3D? x #\.) #\_ x= )) - version) - "-src.jar")) + (uri (string-append + "https://github.com/unicode-org/icu/releases/download/= release-" + (string-map (lambda (x) (if (char=3D? x #\.) #\- x)) v= ersion) + "/icu4j-" + (string-map (lambda (x) (if (char=3D? x #\.) #\_ x)) v= ersion) + ".tgz")) (sha256 - (base32 - "0bgxsvgi0qcwj60pvcxrf7a3fbk7aksyxnfwpbzavyfrfzixqh0c")))) + (base32 "1ahdyz9209lwl7knb2l3gmnkkby221p0vpgx70fj4j02rdzgvw= 0d")))) (build-system ant-build-system) (arguments - `(#:tests? #f ; no tests included - #:jar-name "icu4j.jar")) + `(#:make-flags + (list (string-append "-Djunit.core.jar=3D" + (car (find-files + (assoc-ref %build-inputs "java-junit") + ".*.jar$"))) + (string-append "-Djunit.junitparams.jar=3D" + (car (find-files + (assoc-ref %build-inputs "java-junitpar= ams") + ".*.jar$"))) + (string-append "-Djunit.hamcrest.jar=3D" + (car (find-files + (assoc-ref %build-inputs "java-hamcrest= -core") + ".*.jar$")))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'chdir + (lambda _ + (chdir "..") + #t)) + (add-before 'build 'remove-ivy + (lambda _ + ;; This target wants to download ivy and use it to download + ;; junit. + (substitute* "build.xml" + (("depends=3D\"test-init-junit-dependency\"") "")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") + "/share/java/"))) + (mkdir-p share) + (install-file "icu4j.jar" share) + #t)))))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-junitparams" ,java-junitparams) + ("java-hamcrest-core" ,java-hamcrest-core))) (home-page "http://site.icu-project.org/") (synopsis "International Components for Unicode") (description --=20 2.26.2 --MP_/cbN/Bv/iZ/+5IAf_IofqnqT--