Bug 224251 - lang/clojure Update to later version than 1.8.0
Summary: lang/clojure Update to later version than 1.8.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Tobias Kortkamp
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-11 18:19 UTC by Jens Grassel
Modified: 2018-07-21 17:46 UTC (History)
3 users (show)

See Also:
freebsd-ports: maintainer-feedback+


Attachments
Patch to update lang/clojure to 1.9.0. (918 bytes, patch)
2017-12-11 18:19 UTC, Jens Grassel
no flags Details | Diff
Create port for spec.alpha library needed by clojure. (2.19 KB, patch)
2018-01-06 16:48 UTC, Jens Grassel
no flags Details | Diff
Create port for spec.alpha library needed by clojure. (2.16 KB, patch)
2018-01-06 16:52 UTC, Jens Grassel
no flags Details | Diff
Create port for spec.alpha library needed by clojure. (2.03 KB, patch)
2018-01-06 17:10 UTC, Jens Grassel
no flags Details | Diff
Patch to update lang/clojure to 1.9.0 (1.96 KB, patch)
2018-01-06 17:17 UTC, Jens Grassel
freebsd-ports: maintainer-approval-
Details | Diff
Patch to create lang/clojure18 port (3.31 KB, patch)
2018-05-20 09:10 UTC, Jens Grassel
freebsd-ports: maintainer-approval-
Details | Diff
Patch to make leiningen depend on the new clojure18 port. (333 bytes, patch)
2018-06-28 13:05 UTC, Jens Grassel
tobik: maintainer-approval-
Details | Diff
Patch to package clojure-tools (3.11 KB, patch)
2018-07-18 15:20 UTC, Tobias Kortkamp
no flags Details | Diff
Patch to package clojure-tools v2 (3.75 KB, patch)
2018-07-18 15:24 UTC, Tobias Kortkamp
freebsd-ports: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Grassel 2017-12-11 18:19:30 UTC
Created attachment 188724 [details]
Patch to update lang/clojure to 1.9.0.

Hi,

I've attached a patch to update the lang/clojure port to version 1.9.0.

Regards,

Jens
Comment 1 Jens Grassel 2017-12-11 18:25:07 UTC
Please don't merge yet. I've come across an error on run and are investigating a fix.
Comment 2 Jens Grassel 2018-01-06 16:48:04 UTC
Created attachment 189462 [details]
Create port for spec.alpha library needed by clojure.

Clojure now needs an external library called spec.alpha. This patch creates a port for that library.
Comment 3 Jens Grassel 2018-01-06 16:52:53 UTC
Created attachment 189463 [details]
Create port for spec.alpha library needed by clojure.

Clojure now needs an external library called spec.alpha. This patch creates a port for that library.
Comment 4 Jens Grassel 2018-01-06 17:10:19 UTC
Created attachment 189464 [details]
Create port for spec.alpha library needed by clojure.

Clojure now needs an external library called spec.alpha. This patch creates a port for that library.
Comment 5 Jens Grassel 2018-01-06 17:17:15 UTC
Created attachment 189466 [details]
Patch to update lang/clojure to 1.9.0
Comment 6 Jens Grassel 2018-01-06 17:18:59 UTC
This works now but clojure needs the spec.alpha port to be created (see attached diff).
Comment 7 Jens Grassel 2018-02-15 19:28:54 UTC
Could we get this going somehow?
Comment 8 Joseph Mingrone freebsd_committer freebsd_triage 2018-02-24 16:58:42 UTC
I am told that there are problems updating to 1.9.  This is from #clojure on Freenode.

<technomancy> does freebsd allow clojure 1.8 to exist alongside 1.9?
<technomancy> jrm: I'd recommend holding off on updating clojure then
<technomancy> it will break unless you can find a way to let 1.8 and 1.9 be installed simultaneously
<technomancy> they ran into this problem with the .debs too

I do not have details.  Do you know anything about this?  What do you think about allowing 1.8 and 1.9 to be installed simultaneously?
Comment 9 commit-hook freebsd_committer freebsd_triage 2018-02-24 17:10:42 UTC
A commit references this bug:

Author: jrm
Date: Sat Feb 24 17:10:08 UTC 2018
New revision: 462851
URL: https://svnweb.freebsd.org/changeset/ports/462851

Log:
  lang/spec.alpha: New port; library dependency for Clojure 1.9

  PR:		224251
  Submitted by:	Jens Grassel <jan0sch@mykolab.com> (maintainer)

Changes:
  head/lang/Makefile
  head/lang/spec.alpha/
  head/lang/spec.alpha/Makefile
  head/lang/spec.alpha/distinfo
  head/lang/spec.alpha/pkg-descr
Comment 10 Joseph Mingrone freebsd_committer freebsd_triage 2018-02-24 20:31:24 UTC
Some more information from #leiningen on freenode.

<jrm> Hello.  technomancy let me know in #clojure that updating a clojure OS package to version 1.9 might not be a good idea.  Is there any information documenting problems that I can refer to?

<technomancy> ehashman: you mentioned having trouble with this
<technomancy> breaking existing packages

<ehashman> technomancy: mostly just breaking lein which had an explicit builddep on 1.8
<ehashman> in the progress of fixing it
<ehashman> the other issue is that the new clj scripts have a hard dep on tools.deps
<ehashman> whichhas a lein-complex dep tree
Comment 11 Jens Grassel 2018-02-25 09:13:02 UTC
So would it make sense to create a lang/clojure18 port and make it "conflict" with the lang/clojure port?

From the comments I guess the devel/leiningen port would then need a dependency on lang/clojure18?

Regards,

Jens
Comment 12 Joseph Mingrone freebsd_committer freebsd_triage 2018-02-25 14:56:14 UTC
That sounds reasonable.

Some more information from IRC:

<ehashman> also, if one installs leiningen from their OS, it's relatively difficult to selectively point it at a mix of OS jars and fetching remote ones
<ehashman> I think you can only pick one location for the local maven repo
<ehashman> possibly of interest: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886565 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887382
<ehashman> this was all the work I did for lein: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819811
<ehashman> note that leiningen requires clojure 1.8 as a builddep so I had to have clojure 1.8 and 1.9 available

Also, from those links, it sounds like Clojure requires a second dependency.
Comment 13 Jens Grassel 2018-05-20 09:10:11 UTC
Created attachment 193551 [details]
Patch to create lang/clojure18 port

This is a patch that will create the lang/clojure18 port. It conflicts with lang/clojure.

Afterwards I'll make leiningen depend on lang/clojure18 and after that will update the lang/clojure and spec-alpha to the latest version (1.10).

Regards,

Jens
Comment 14 Jens Grassel 2018-06-28 13:05:46 UTC
Created attachment 194706 [details]
Patch to make leiningen depend on the new clojure18 port.

This patch makes the leiningen port depend on the new clojure18 port (see comments for details).
Comment 15 Tobias Kortkamp freebsd_committer freebsd_triage 2018-06-28 13:43:09 UTC
Comment on attachment 194706 [details]
Patch to make leiningen depend on the new clojure18 port.

With my devel/leiningen maintainer hat on this is not approved.
Leiningen already comes with a bundled Clojure 1.8.0, so what does
adding a run dependency to lang/clojure18 accomplish?
Comment 16 Jens Grassel 2018-06-28 16:31:01 UTC
(In reply to Tobias Kortkamp from comment #15)

Regarding the comments up to this so far I understood that upgrading clojure would not be possible  because leiningen depends on clojure 1.8. Therefore the patch.
But if clojure is bundled with leiningen then the patch does indeed not make any sense.

Are we then ready/clear to include the "old" clojure as clojure18 port and bring the clojure port up to version 1.9?

Regards,

Jens
Comment 17 Joseph Mingrone freebsd_committer freebsd_triage 2018-06-28 16:40:10 UTC
I've reassigned this back to the pool.  I'm not familiar enough with the Clojure world to make a call on this one and am a bit too swamped atm to dig deeper.
Comment 18 Tobias Kortkamp freebsd_committer freebsd_triage 2018-07-01 14:53:28 UTC
Why do we need lang/clojure18?  Nothing depends on lang/clojure now, so I'm
not sure that Clojure 1.8 needs to be available as a port.

I think lang/clojure should install clojure-tools as can be found at [0,1].
Upstream provides man pages and scripts to run Clojure and we should provide
the same ones too to our users.  Look at the Void Linux package [2] or the
Homebrew formula [3] for example.

[0] https://clojure.org/guides/getting_started
[1] https://download.clojure.org/install/clojure-tools-1.9.0.381.tar.gz
[2] https://github.com/void-linux/void-packages/blob/master/srcpkgs/clojure/template
[3] https://github.com/Homebrew/homebrew-core/blob/master/Formula/clojure.rb
Comment 19 Tobias Kortkamp freebsd_committer freebsd_triage 2018-07-18 15:20:53 UTC
Created attachment 195248 [details]
Patch to package clojure-tools

Here's a patch to package clojure-tools.  I'd like this to be lang/clojure
but if that's not wanted I'll add it as devel/clojure-tools.
Comment 20 Tobias Kortkamp freebsd_committer freebsd_triage 2018-07-18 15:24:01 UTC
Created attachment 195249 [details]
Patch to package clojure-tools v2
Comment 21 Jens Grassel 2018-07-19 15:40:50 UTC
Looks good to me.
Comment 22 Jens Grassel 2018-07-19 15:41:32 UTC
Comment on attachment 193551 [details]
Patch to create lang/clojure18 port

Overcome by events.
Comment 23 Jens Grassel 2018-07-19 15:42:10 UTC
Comment on attachment 189466 [details]
Patch to update lang/clojure to 1.9.0

Overcome by events (see patch regarding using clojure-tools).
Comment 24 Tobias Kortkamp freebsd_committer freebsd_triage 2018-07-19 18:58:56 UTC
(In reply to Jens Grassel from comment #21)
Thank you.

I don't think we need lang/spec.alpha now anymore as it's already contained
in clojure-tools.  Is it ok with you if I remove it?
Comment 25 commit-hook freebsd_committer freebsd_triage 2018-07-20 13:54:47 UTC
A commit references this bug:

Author: tobik
Date: Fri Jul 20 13:53:47 UTC 2018
New revision: 475015
URL: https://svnweb.freebsd.org/changeset/ports/475015

Log:
  lang/clojure: Update to 1.9.0.381

  Move the port to install the new offical Clojure command line tools
  instead of custom scripts.

  Changes:	https://github.com/clojure/clojure/blob/clojure-1.9.0/changes.md
  PR:		224251
  Approved by:	Jens Grassel <jan0sch@mykolab.com> (maintainer)

Changes:
  head/lang/clojure/Makefile
  head/lang/clojure/distinfo
  head/lang/clojure/files/
  head/lang/clojure/pkg-plist
Comment 26 Jens Grassel 2018-07-21 12:31:33 UTC
(In reply to Tobias Kortkamp from comment #24)

Feel free to kill it if it is not needed by anything. ;-)
Comment 27 commit-hook freebsd_committer freebsd_triage 2018-07-21 17:43:17 UTC
A commit references this bug:

Author: tobik
Date: Sat Jul 21 17:42:19 UTC 2018
New revision: 475072
URL: https://svnweb.freebsd.org/changeset/ports/475072

Log:
  Remove lang/spec.alpha

  It is not needed anymore.  It was added in preparation of a
  lang/clojure update which we did another way now.

  PR:		224251
  Approved by:	Jens Grassel <jan0sch@mykolab.com> (maintainer)

Changes:
  head/MOVED
  head/lang/Makefile
  head/lang/spec.alpha/
Comment 28 Tobias Kortkamp freebsd_committer freebsd_triage 2018-07-21 17:46:36 UTC
(In reply to Jens Grassel from comment #26)
Done. Thanks!