GNU bug report logs - #74973
[PATCH] gnu: Fix clojure-tools.

Previous Next

Package: guix-patches;

Reported by: Rostislav Svoboda <rostislav.svoboda <at> gmail.com>

Date: Thu, 19 Dec 2024 14:24:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 74973 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#74973; Package guix-patches. (Thu, 19 Dec 2024 14:24:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Rostislav Svoboda <rostislav.svoboda <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 19 Dec 2024 14:24:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Rostislav Svoboda <rostislav.svoboda <at> gmail.com>
To: guix-patches <at> gnu.org,
	amorenompls <at> gmail.com
Cc: Rostislav Svoboda <Rostislav.Svoboda <at> gmail.com>
Subject: [PATCH] gnu: Fix clojure-tools.
Date: Thu, 19 Dec 2024 15:22:27 +0100
* gnu/packages/clojure.scm (clojure-tools): The AOT compiled JAR must be
included and used by the bin/clojure script.

See also
https://yhetil.org/guix-user/CAOXoXz0fKD+3B+b_y6A8MPYxZcSRDusby6VWTUy8Nnp4Y0fAzQ <at> mail.gmail.com/

Change-Id: I3a8221fd415631f191cbf6ddcb0e8ecbd94e389f
---
 gnu/packages/clojure.scm | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 09674f541e..6146b38753 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -204,18 +204,14 @@ (define-public clojure
 (define-public clojure-tools
   (package
     (name "clojure-tools")
-    (version "1.11.1.1413")
+    (version "1.12.0.1488")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://download.clojure.org/install/clojure-tools-"
                            version
                            ".tar.gz"))
-       (sha256 (base32 "1q0z71ifdxwvyy9gvq8mx8jbygf8cszrlhb3h22walfamnisbhwk"))
-       ;; Remove AOT compiled JAR.  The other JAR only contains uncompiled
-       ;; Clojure source code.
-       (snippet
-        `(delete-file ,(string-append "clojure-tools-" version ".jar")))))
+       (sha256 (base32 "0hh78b22shj530armm9850cqr85wqdxyqfzx4qf45w5y200bw6dw"))))
     (build-system copy-build-system)
     (arguments
      `(#:install-plan
@@ -223,6 +219,7 @@ (define-public clojure-tools
          ("example-deps.edn" "lib/clojure/")
          ("tools.edn" "lib/clojure/")
          ("exec.jar" "lib/clojure/libexec/")
+         (,(string-append "clojure-tools-" version ".jar") "lib/clojure/libexec/")
          ("clojure" "bin/")
          ("clj" "bin/"))
        #:modules ((guix build copy-build-system)
@@ -237,17 +234,7 @@ (define-public clojure-tools
                (("PREFIX") (string-append (assoc-ref outputs "out") "/lib/clojure")))
              (substitute* "clj"
                (("BINDIR") (string-append (assoc-ref outputs "out") "/bin"))
-               (("rlwrap") (which "rlwrap")))))
-         (add-after 'fix-paths 'copy-tools-deps-alpha-jar
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (substitute* "clojure"
-               (("\\$install_dir/libexec/clojure-tools-\\$version\\.jar")
-                (string-join
-                 (append-map (match-lambda
-                               ((label . dir)
-                                (find-files dir "\\.jar$")))
-                             inputs)
-                 ":"))))))))
+               (("rlwrap") (which "rlwrap"))))))))
     (inputs (list rlwrap
                   clojure
                   clojure-tools-deps

base-commit: 5634bc206d82a867850c86044c423b0a8700f34e
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#74973; Package guix-patches. (Wed, 25 Dec 2024 21:57:02 GMT) Full text and rfc822 format available.

Message #8 received at 74973 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Rostislav Svoboda <rostislav.svoboda <at> gmail.com>
Cc: amorenompls <at> gmail.com, 74973 <at> debbugs.gnu.org
Subject: Re: [bug#74973] [PATCH] gnu: Fix clojure-tools.
Date: Wed, 25 Dec 2024 22:56:16 +0100
Hi Rostislav,

Rostislav Svoboda <rostislav.svoboda <at> gmail.com> skribis:

> * gnu/packages/clojure.scm (clojure-tools): The AOT compiled JAR must be
> included and used by the bin/clojure script.
>
> See also
> https://yhetil.org/guix-user/CAOXoXz0fKD+3B+b_y6A8MPYxZcSRDusby6VWTUy8Nnp4Y0fAzQ <at> mail.gmail.com/
>
> Change-Id: I3a8221fd415631f191cbf6ddcb0e8ecbd94e389f

[...]

>      (source
>       (origin
>         (method url-fetch)
>         (uri (string-append "https://download.clojure.org/install/clojure-tools-"
>                             version
>                             ".tar.gz"))
> -       (sha256 (base32 "1q0z71ifdxwvyy9gvq8mx8jbygf8cszrlhb3h22walfamnisbhwk"))
> -       ;; Remove AOT compiled JAR.  The other JAR only contains uncompiled
> -       ;; Clojure source code.
> -       (snippet
> -        `(delete-file ,(string-append "clojure-tools-" version ".jar")))))
> +       (sha256 (base32 "0hh78b22shj530armm9850cqr85wqdxyqfzx4qf45w5y200bw6dw"))))

The problem is that in general we don’t want to keep pre-built binaries
like this one.  Could we keep this snippet and instead find a way to
ensure that this jar is built from source and installed?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#74973; Package guix-patches. (Thu, 26 Dec 2024 14:43:02 GMT) Full text and rfc822 format available.

Message #11 received at 74973 <at> debbugs.gnu.org (full text, mbox):

From: Rostislav Svoboda <rostislav.svoboda <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: amorenompls <at> gmail.com, 74973 <at> debbugs.gnu.org
Subject: Re: [bug#74973] [PATCH] gnu: Fix clojure-tools.
Date: Thu, 26 Dec 2024 15:40:45 +0100
Hello Ludo’

> Could we keep this snippet and instead find a way to ensure that this jar is built from source and installed?

Uff, we're diving into the rabbit hole here. The clojure-tools-*.jar
is built using itself and relies on a considerable number of
configuration settings and jar files. (See below.)

Cheers,
Bost

bost <at> ecke /tmp$ git clone https://github.com/clojure/brew-install
Clonage dans 'brew-install'...
remote: Enumerating objects: 6984, done.
remote: Counting objects: 100% (1280/1280), done.
remote: Compressing objects: 100% (89/89), done.
remote: Total 6984 (delta 1196), reused 1244 (delta 1171), pack-reused
5704 (from 1)
Réception d'objets: 100% (6984/6984), 854.54 Kio | 6.62 Mio/s, fait.
Résolution des deltas: 100% (3418/3418), fait.
bost <at> ecke /tmp$ cd brew-install/

bost <at> ecke /tmp/brew-install$ clj -Sverbose -T:build release
version      = 1.12.0.1488
install_dir  = /gnu/store/s7basyx1rffp9bnacnr90v6zscx3ch72-clojure-tools-1.12.0.1488/lib/clojure
config_dir   = /home/bost/.config/clojure
config_paths = /gnu/store/s7basyx1rffp9bnacnr90v6zscx3ch72-clojure-tools-1.12.0.1488/lib/clojure/deps.edn
/home/bost/.config/clojure/deps.edn deps.edn
cache_dir    = .cpcache
cp_file      = .cpcache/519643847.cp

Refreshing classpath
clojure-tools/
clojure-tools/clj
clojure-tools/clojure.1
clojure-tools/clj.1
clojure-tools/example-deps.edn
clojure-tools/install.sh
clojure-tools/exec.jar
clojure-tools/tools.edn
clojure-tools/clojure
clojure-tools/deps.edn
clojure-tools/clojure-tools-1.12.0.1488.jar

bost <at> ecke /tmp/brew-install$ clj -Stree
org.clojure/clojure 1.12.0
  . org.clojure/spec.alpha 0.5.238
  . org.clojure/core.specs.alpha 0.4.74
org.clojure/tools.deps 0.21.1460
  . org.apache.maven.resolver/maven-resolver-api 1.8.2
  . org.apache.maven.resolver/maven-resolver-spi 1.8.2
    . org.apache.maven.resolver/maven-resolver-api 1.8.2
  . org.apache.maven.resolver/maven-resolver-impl 1.8.2
    . org.apache.maven.resolver/maven-resolver-api 1.8.2
    . org.apache.maven.resolver/maven-resolver-spi 1.8.2
    . org.apache.maven.resolver/maven-resolver-named-locks 1.8.2
      . org.slf4j/slf4j-api 1.7.36
    . org.apache.maven.resolver/maven-resolver-util 1.8.2
    . org.apache.commons/commons-lang3 3.12.0
    . javax.annotation/javax.annotation-api 1.3.2
    . org.slf4j/slf4j-api 1.7.36
  . org.apache.maven.resolver/maven-resolver-util 1.8.2
    . org.apache.maven.resolver/maven-resolver-api 1.8.2
  . org.apache.maven.resolver/maven-resolver-connector-basic 1.8.2
    . org.apache.maven.resolver/maven-resolver-api 1.8.2
    . org.apache.maven.resolver/maven-resolver-spi 1.8.2
    . org.apache.maven.resolver/maven-resolver-util 1.8.2
    . org.slf4j/slf4j-api 1.7.36
  . org.apache.maven.resolver/maven-resolver-transport-file 1.8.2
    . org.apache.maven.resolver/maven-resolver-api 1.8.2
    . org.apache.maven.resolver/maven-resolver-spi 1.8.2
    . org.slf4j/slf4j-api 1.7.36
  . org.apache.maven.resolver/maven-resolver-transport-http 1.8.2
    . org.apache.maven.resolver/maven-resolver-api 1.8.2
    . org.apache.maven.resolver/maven-resolver-spi 1.8.2
    . org.apache.maven.resolver/maven-resolver-util 1.8.2
    . org.apache.httpcomponents/httpclient 4.5.13
      X org.apache.httpcomponents/httpcore 4.4.13 :older-version
      . commons-codec/commons-codec 1.11
    . org.apache.httpcomponents/httpcore 4.4.15
    . org.slf4j/jcl-over-slf4j 1.7.36
      . org.slf4j/slf4j-api 1.7.36
    . org.slf4j/slf4j-api 1.7.36
  . org.apache.maven/maven-resolver-provider 3.8.8
    . org.apache.maven/maven-model 3.8.8
      . org.codehaus.plexus/plexus-utils 3.3.1
    . org.apache.maven/maven-model-builder 3.8.8
      . org.codehaus.plexus/plexus-utils 3.3.1
      . org.codehaus.plexus/plexus-interpolation 1.26
      . javax.inject/javax.inject 1
      . org.apache.maven/maven-model 3.8.8
      . org.apache.maven/maven-artifact 3.8.8
      . org.apache.maven/maven-builder-support 3.8.8
      . org.eclipse.sisu/org.eclipse.sisu.inject 0.3.5
    . org.apache.maven/maven-repository-metadata 3.8.8
      . org.codehaus.plexus/plexus-utils 3.3.1
    X org.apache.maven.resolver/maven-resolver-api 1.6.3 :older-version
    X org.apache.maven.resolver/maven-resolver-spi 1.6.3 :older-version
    X org.apache.maven.resolver/maven-resolver-util 1.6.3 :older-version
    X org.apache.maven.resolver/maven-resolver-impl 1.6.3 :older-version
    X org.codehaus.plexus/plexus-utils 3.3.1 :superseded
    . javax.inject/javax.inject 1
  . org.apache.maven/maven-core 3.8.8
    . org.apache.maven/maven-model 3.8.8
    . org.apache.maven/maven-settings 3.8.8
      . org.codehaus.plexus/plexus-utils 3.3.1
    . org.apache.maven/maven-settings-builder 3.8.8
      . org.apache.maven/maven-builder-support 3.8.8
      . javax.inject/javax.inject 1
      . org.codehaus.plexus/plexus-interpolation 1.26
      . org.codehaus.plexus/plexus-utils 3.3.1
      . org.apache.maven/maven-settings 3.8.8
      . org.codehaus.plexus/plexus-sec-dispatcher 2.0
        . org.codehaus.plexus/plexus-utils 3.4.1 :newer-version
        . org.codehaus.plexus/plexus-cipher 2.0
          . javax.inject/javax.inject 1
        . javax.inject/javax.inject 1
    . org.apache.maven/maven-builder-support 3.8.8
    . org.apache.maven/maven-repository-metadata 3.8.8
    . org.apache.maven/maven-artifact 3.8.8
      . org.codehaus.plexus/plexus-utils 3.3.1
      X org.apache.commons/commons-lang3 3.8.1 :older-version
    . org.apache.maven/maven-plugin-api 3.8.8
      . org.apache.maven/maven-model 3.8.8
      . org.apache.maven/maven-artifact 3.8.8
      . org.eclipse.sisu/org.eclipse.sisu.plexus 0.3.5
      . org.codehaus.plexus/plexus-utils 3.3.1
      . org.codehaus.plexus/plexus-classworlds 2.6.0
    . org.apache.maven/maven-model-builder 3.8.8
    . org.apache.maven/maven-resolver-provider 3.8.8
    X org.apache.maven.resolver/maven-resolver-impl 1.6.3 :older-version
    X org.apache.maven.resolver/maven-resolver-api 1.6.3 :older-version
    X org.apache.maven.resolver/maven-resolver-spi 1.6.3 :older-version
    X org.apache.maven.resolver/maven-resolver-util 1.6.3 :older-version
    . org.apache.maven.shared/maven-shared-utils 3.3.4
    . org.eclipse.sisu/org.eclipse.sisu.plexus 0.3.5
      X javax.annotation/javax.annotation-api 1.2 :older-version
      . org.eclipse.sisu/org.eclipse.sisu.inject 0.3.5
      X org.codehaus.plexus/plexus-component-annotations 1.5.5 :older-version
      X org.codehaus.plexus/plexus-classworlds 2.5.2 :older-version
      X org.codehaus.plexus/plexus-utils 3.0.24 :older-version
    . org.eclipse.sisu/org.eclipse.sisu.inject 0.3.5
    . com.google.inject/guice$no_aop 4.2.2
      . javax.inject/javax.inject 1
      . aopalliance/aopalliance 1.0
      X com.google.guava/guava 25.1-android :excluded
    . javax.inject/javax.inject 1
    . org.codehaus.plexus/plexus-utils 3.3.1
    . org.codehaus.plexus/plexus-classworlds 2.6.0
    . org.codehaus.plexus/plexus-interpolation 1.26
    . org.codehaus.plexus/plexus-component-annotations 2.1.0
    X org.apache.commons/commons-lang3 3.8.1 :older-version
    . org.slf4j/slf4j-api 1.7.36
  . org.clojure/data.xml 0.2.0-alpha9
  . org.clojure/tools.gitlibs 2.5.197
  . org.clojure/tools.cli 1.1.230
  . com.cognitect.aws/api 0.8.692
    . org.clojure/data.json 2.5.0
    . org.clojure/tools.logging 1.2.4
    . com.cognitect/http-client 1.0.127
      . org.clojure/core.async 1.6.681
      X org.eclipse.jetty/jetty-client 9.4.53.v20231009 :excluded
      X org.eclipse.jetty/jetty-http 9.4.53.v20231009 :excluded
      X org.eclipse.jetty/jetty-util 9.4.53.v20231009 :excluded
    X org.clojure/data.xml 0.2.0-alpha8 :older-version
    . org.clojure/core.async 1.6.681
      . org.clojure/tools.analyzer.jvm 1.2.3
        . org.clojure/tools.analyzer 1.1.1
        . org.clojure/core.memoize 1.0.253
          . org.clojure/core.cache 1.0.225
            . org.clojure/data.priority-map 1.1.0
        . org.ow2.asm/asm 9.2
        . org.clojure/tools.reader 1.3.6
  . org.eclipse.jetty/jetty-http 9.4.53.v20231009
    . org.eclipse.jetty/jetty-util 9.4.53.v20231009
    . org.eclipse.jetty/jetty-io 9.4.53.v20231009
      . org.eclipse.jetty/jetty-util 9.4.53.v20231009
  . org.eclipse.jetty/jetty-client 9.4.53.v20231009
    . org.eclipse.jetty/jetty-http 9.4.53.v20231009
    . org.eclipse.jetty/jetty-io 9.4.53.v20231009
  . com.cognitect.aws/endpoints 1.1.12.718
  . com.cognitect.aws/s3 868.2.1580.0
  . javax.inject/javax.inject 1
org.slf4j/slf4j-nop 1.7.36
  . org.slf4j/slf4j-api 1.7.36




This bug report was last modified 170 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.