From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id gDwGBjIZZ1/5FgAA0tVLHw (envelope-from ) for ; Sun, 20 Sep 2020 08:56:18 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id eMPlATIZZ1+CUwAA1q6Kng (envelope-from ) for ; Sun, 20 Sep 2020 08:56:18 +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 8D3469403C9 for ; Sun, 20 Sep 2020 08:56:17 +0000 (UTC) Received: from localhost ([::1]:57490 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kJv8q-0001Ie-CV for larch@yhetil.org; Sun, 20 Sep 2020 04:56:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51498) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kJv8h-0001Gh-1M for guix-devel@gnu.org; Sun, 20 Sep 2020 04:56:07 -0400 Received: from m4s11.vlinux.de ([83.151.27.109]:47142 helo=bjoernhoefling.de) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kJv8b-0007X3-S6 for guix-devel@gnu.org; Sun, 20 Sep 2020 04:56:06 -0400 Received: from alma-ubu (pd951feee.dip0.t-ipconnect.de [217.81.254.238]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bjoernhoefling.de (Postfix) with ESMTPSA id B06543F853; Sun, 20 Sep 2020 10:55:56 +0200 (CEST) Date: Sun, 20 Sep 2020 10:55:55 +0200 From: =?UTF-8?B?QmrDtnJuIEjDtmZsaW5n?= To: guix-devel Subject: Testing the maven build system: Symlink error on duplicate inputs Message-ID: <20200920105555.7a95f05f@alma-ubu> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/ig8jMH3Ki3GpSkR0+/Bl806"; protocol="application/pgp-signature" Received-SPF: none client-ip=83.151.27.109; envelope-from=bjoern.hoefling@bjoernhoefling.de; helo=bjoernhoefling.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/20 04:55:57 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, KHOP_HELO_FCRDNS=0.399, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no 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: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=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.61 X-TUID: XfpXDqhLRAO1 --Sig_/ig8jMH3Ki3GpSkR0+/Bl806 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Julien, Hi Guix, thanks for adding the maven-build-system to Guix! This week I found the time to look over it and tested it. It works great! First I head a problem with symlinks when I tried out your example from your git: (define-public maven-test + (let ((commit "775960a985785913fb85428979d253c0b0e1d774") + (version "1.0-SNAPSHOT") + (revision "0")) + (package + (name "maven-test") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/tyreunom/maven-example-pr= oject") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "056p1kc4dpdp8rzxrbp9y0z278hjzpqkrjq63wgcyi0ns5jbc5nv"))= )) + (build-system maven-build-system) + (native-inputs + `(("maven-resources-plugin" ,maven-resources-plugin) + ("maven-compiler-plugin" ,maven-compiler-plugin) + ("maven-surefire-plugin" ,maven-surefire-plugin) + ("maven-jar-plugin" ,maven-jar-plugin) + ("maven-install-plugin" ,maven-install-plugin) + ("java-surefire-junit4" ,java-surefire-junit4))) + (home-page "") + (synopsis "") + (description "") + ;; Note: this package is generated automatically by maven, which is = under asl2.0 + (license license:asl2.0)))) It failed with=20 I would symlink: "/gnu/store/p92knvjyvmg0krb7hlkj4gj8yf64y1r5-maven-resourc= es-plugin-3.1.0/lib/m2/./org/apache/maven/plugins/maven-resources-plugin/3.= 1.0/maven-resources-plugin-3.1.0.jar" --> "/tmp/guix-build-maven-test-1.0-S= NAPSHOT-0.775960a.drv-0/source/build-home/.m2/repository/./org/apache/maven= /plugins/maven-resources-plugin/3.1.0/maven-resources-plugin-3.1.0.jar". Backtrace: 10 (primitive-load "/gnu/store/icabl1p2m3xf83hkanpkgzk0mkz?") In ice-9/eval.scm: 191:35 9 (_ _) In guix/build/gnu-build-system.scm: 838:2 8 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #) In ice-9/boot-9.scm: 1736:10 7 (with-exception-handler _ _ #:unwind? _ # _) In srfi/srfi-1.scm: 857:16 6 (every1 # ?) In guix/build/gnu-build-system.scm: 847:30 5 (_ _) In guix/build/maven-build-system.scm: 55:4 4 (configure #:inputs _) In ice-9/boot-9.scm: 260:13 3 (for-each # ?) 260:13 2 (for-each # ?) In unknown file: 1 (symlink "/gnu/store/p92knvjyvmg0krb7hlkj4gj8yf64y1r5-?" ?) In ice-9/boot-9.scm: 1669:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1669:16: In procedure raise-exception: In procedure symlink: File exists Then I noticed that the configure phase has duplicate inputs and that lead to the failure. After removing all native-inputs from the example, I was able to successfully build this Hello-World example. Would that maybe cause real problems when the same two inputs come from different dependencies in real-world examples? I quickly tried to find a real-world problem to play with like slf4j or Apache Commons, but all had either direct dependencies or plugin-dependencies. Does someone have plans to add real-world packages that make use of the maven-build-system? Next, an automated importer with dependency-resolution would be nice :-) Thanks Julien for working on this, Bj=C3=B6rn --Sig_/ig8jMH3Ki3GpSkR0+/Bl806 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iF0EAREKAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCX2cZGwAKCRC/KGy2WT5f /TsYAJ9J2scDi8TN5RSCBY4L52uaVxuxpQCfaTFBS4kBlOMpQF4rqVdpKVWQ/MA= =5zlZ -----END PGP SIGNATURE----- --Sig_/ig8jMH3Ki3GpSkR0+/Bl806--