Subject: Re: bug#56604: closed (Re: bug#56604: [PATCH 0/8] Update Clojure to 1.11.1.)

From: Roman Scherer <[email-masked]>
Date: Mon, 25 Jul 2022 20:06:15 +0200

Hi Maxim and Ludo,

thanks for your replies. Sorry that I was not answering earlier. The heat
killed my laptop and I am having trouble to get set up again.

I follow up when I have my new laptop.

Thanks

On Sat, Jul 23, 2022, 00:12 GNU bug Tracking System <[email-masked]>
wrote:

> Your bug report
>
> #56604: [PATCH 0/8] Update Clojure to 1.11.1.
>
> which was filed against the guix-patches package, has been closed.
>
> The explanation is attached below, along with your original report.
> If you require more details, please reply to [email-masked].
>
> --
> 56604: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56604
> GNU Bug Tracking System
> Contact [email-masked] with problems
>
>
>
> ---------- Forwarded message ----------
> From: "Ludovic Courtès" <[email-masked]>
> To: r0man <[email-masked]>
> Cc: [email-masked]
> Bcc:
> Date: Sat, 23 Jul 2022 00:11:05 +0200
> Subject: Re: bug#56604: [PATCH 0/8] Update Clojure to 1.11.1.
> Hi,
>
> r0man <[email-masked]> skribis:
>
> > This phase makes sure the timestamp of compiled class files is set to a
> later
> > point in time than the timestamp of the corresponding Clojure source
> files. If
> > the timestamps of the class and source files are the same, the Clojure
> > compiler will compile the sources again which can lead to issues. This
> problem
> > has been discussed here [1]. The suggested solution was to keep/adjust
> the
> > timestamps of the class files.
>
> Sounds reasonable.  It’s a bummer though that the whole phase is pasted
> from ant-build-system.scm, the only difference being the timestamps
> (1980 instead of 1970).
>
> I added a TODO comment in clojure-build-system.scm when applying the
> patch.  Could you follow up with a patch to factorize that?
>
> > Btw, I was a bit surprised that in Guix Clojure packages are AOT
> compiled. The
> > general wisdom in the Clojure community seems to be to avoid AOT
> compilation
> > when distributing libraries, and only AOT compiling Uberjars for final
> > deployment. Due to issues like I mentioned in clojure-instaparse.
> >
> > Are we sure that AOT compiling all Clojure source files by default is a
> good
> > idea, instead of just compiling user declared namespaces which Leiningen
> and
> > friends are doing? WDYT?
>
> Not much, but as you might have seen in ./etc/teams.scm, the project is
> finally being structured as teams.  There’s an opportunity for you to
> start a Clojure team and to take the lead!  :-)
>
> As a first step, I’d recommend getting in touch with people who have
> worked on ‘clojure-build-system’ and packaged things in the past.
>
> >   gnu: clojure-tools-cli: Update to 1.0.206.
> >   gnu: clojure-tools-gitlibs: Update to 2.4.181.
> >   gnu: clojure-tools-deps-alpha: Update to 0.14.1212.
> >   gnu: clojure-tools: Update to 1.11.1.1149.
> >   gnu: clojure: Update to 1.11.1.
> >   gnu: clojure-algo-generic: Fix test failing under AOT in Clojure
> 1.11.1.
> >   gnu: clojure-core-match: Update to 1.0.0.
> >   gnu: clojure-instaparse: Update to 1.4.12 (disabled AOT).
>
> I adjusted all the commit logs to follow our conventions; please
> consider doing this next time:
>
>   https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html
>
> The instaparse patch missed the hash update so I did that too.
>
> Thanks!
>
> Ludo’.
>
>
>
>
> ---------- Forwarded message ----------
> From: r0man <[email-masked]>
> To: [email-masked]
> Cc:
> Bcc:
> Date: Sat, 16 Jul 2022 20:17:34 +0200
> Subject: [PATCH 0/8] Update Clojure to 1.11.1.
> Hello Guix,
>
> This patch series updates Clojure and it's packages to 1.11.1.
>
> It also adds the 'reset-class-timestamps phase to the Clojure build system.
>
> This phase makes sure the timestamp of compiled class files is set to a
> later
> point in time than the timestamp of the corresponding Clojure source
> files. If
> the timestamps of the class and source files are the same, the Clojure
> compiler will compile the sources again which can lead to issues. This
> problem
> has been discussed here [1]. The suggested solution was to keep/adjust the
> timestamps of the class files.
>
> [1] https://www.mail-archive.com/[email-masked]/msg99928.html
>
> Could you please review this?
>
> In the patch for clojure-instaparse, I disabled the AOT compilation
> because of
> a known issue. Is that ok?
>
> Btw, I was a bit surprised that in Guix Clojure packages are AOT compiled.
> The
> general wisdom in the Clojure community seems to be to avoid AOT
> compilation
> when distributing libraries, and only AOT compiling Uberjars for final
> deployment. Due to issues like I mentioned in clojure-instaparse.
>
> Are we sure that AOT compiling all Clojure source files by default is a
> good
> idea, instead of just compiling user declared namespaces which Leiningen
> and
> friends are doing? WDYT?
>
> Thanks Roman.
>
> r0man (8):
>   gnu: clojure-tools-cli: Update to 1.0.206.
>   gnu: clojure-tools-gitlibs: Update to 2.4.181.
>   gnu: clojure-tools-deps-alpha: Update to 0.14.1212.
>   gnu: clojure-tools: Update to 1.11.1.1149.
>   gnu: clojure: Update to 1.11.1.
>   gnu: clojure-algo-generic: Fix test failing under AOT in Clojure 1.11.1.
>   gnu: clojure-core-match: Update to 1.0.0.
>   gnu: clojure-instaparse: Update to 1.4.12 (disabled AOT).
>
>  gnu/packages/clojure.scm            | 185 +++++++++++++++++++---------
>  guix/build/clojure-build-system.scm |  53 +++++++-
>  2 files changed, 178 insertions(+), 60 deletions(-)
>
> --
> 2.36.1
>
>