smartparens icon indicating copy to clipboard operation
smartparens copied to clipboard

Distributing spartparens in NonGNU ELPA

Open phikal opened this issue 2 years ago • 13 comments

Hi,

I'm currently packaging a few popular packages for NonGNU ELPA, pending the next release of Emacs that will be adding the repository to the default package-archives list.

For the most part, it seems to be working, the only problem is that compared to MELPA, NonGNU ELPA uses the commit that bumps the version tag to tag a new release. Without such a tag, it is necessary to manually tag every new release. While cumbersome, it is possible if you are not interested.

In case, as indicated in other issues, a new release shouldn't be tagged now, you can also create a separate branch for NonGNU ELPA, and update the version tag there. The repository will then be tracking this branch, until you can merge it and the master branch can be merged.

phikal avatar Aug 06 '21 19:08 phikal

I don't understand what is the action. There are tagged commits, those won't be picked? Or is the system listening only to the new commits?

I can probably prepare a new tag, it's not like there's any activity going on so the current HEAD is as stable as any.

Let me know what steps I should take. I have no issues tagging the latest commit as a release if that's required.

Fuco1 avatar Aug 06 '21 20:08 Fuco1

No, ELPA creates a new release whenever the Version tag in the package header is incremented, instead of when a commit is taged (as with MELPA).

All that has to be done is to add a line like

Version: 1.13.0

and update it whenever a release is made.

But there is no hurry/necessity to do anything now: the suggestion for the current package specification has a manually chosen commit to package, that can be removed when the next release is ready.

phikal avatar Aug 06 '21 21:08 phikal

On a related note, the package has now been added to NonGNU ELPA with a manually tagged commit: https://elpa.nongnu.org/nongnu/smartparens.html

It might be worth documenting this to make the installation easier for Emacs 28+ users.

phikal avatar Aug 08 '21 09:08 phikal

Any idea why the version is 4.7.1? https://elpa.nongnu.org/nongnu/smartparens.html

Fuco1 avatar Aug 08 '21 23:08 Fuco1

Matus Goljer @.***> writes:

Any idea why the version is 4.7.1? https://elpa.nongnu.org/nongnu/smartparens.html

~~That was a mistake in the (manual) package specification, I'll fix that.~~

Actually, the package specification says

 ("smartparens"		:url "https://github.com/Fuco1/smartparens"
  :ignored-files ("dev" "doc" "images" "test")
  ;; See https://github.com/Fuco1/smartparens/issues/1095
  ;;
  ;; Until a version tag is added, the commit of the latest tag is
  ;; used to mark the last stable release:
  ;; https://github.com/Fuco1/smartparens/releases/tag/1.11.0
  :version-map ((nil "1.11.0" "4873352b5d0a1c5142658122de1b6950b8fe7e4d")))

so that shouldn't be the issue. In that case I am really not sure what the reason is. It might be a bug in the ELPA build system, when no version tag could be found?

Thank you for noticing!

-- Philip Kaludercic

phikal avatar Aug 09 '21 08:08 phikal

I have tried building smartparens locally once again, and it is now being generated with version 1.11.0.

I think the best way to fix the issue would be to add a Version attribute in the package header, and setting it to 1.11.1 or something like that.

phikal avatar Aug 31 '21 13:08 phikal

Ping?

phikal avatar Sep 15 '22 14:09 phikal

Pi..ing?

monnier avatar Oct 24 '22 18:10 monnier

Is this still relevant? I see this https://elpa.nongnu.org/nongnu/smartparens.html

Is this really shipping the tagged version though? That is more than five years old and really super not up to date :D

Fuco1 avatar Mar 16 '23 09:03 Fuco1

We are still pinning the version to the commit 4873352b5d0a1c5142658122de1b6950b8fe7e4d as tagged in https://github.com/Fuco1/smartparens/releases/tag/1.11.0. Or what do you mean by "this"?

phikal avatar Mar 16 '23 11:03 phikal

Well, two things

  1. can we close this issue?
  2. I should probably tag a new release, because 1.11 is really old.

Fuco1 avatar Mar 16 '23 11:03 Fuco1

  1. would be the solution to 1.

phikal avatar Mar 16 '23 12:03 phikal

  1. I should probably tag a new release, because 1.11 is really old.

Side note: (Non)GNU ELPA doesn't pay attention to tags, it uses instead the commit where the Version: header is changed in smartparens.el.

monnier avatar Mar 16 '23 13:03 monnier

I'm going to close this issue because I don't really understand what's going on with NonGNU ELPA and to be quite honest my capacity is very limited at this moment. If you guys want to distribute this package in any way whatsoever you always can, but I can't spend time on this now.

Thanks.

Fuco1 avatar Mar 17 '24 21:03 Fuco1

Nothing has changed on our end since this comment. I see there has been a commit (6cd739af01d75038a4d7b80a49afd10d97198166) that added a Version header, which can be used as the reference commit to distribute smartparens -- if this is actually a stable state? I see that the header and the Git tag differ vastly? Whenever you want to update the package, you just need to update this header in smartparens.el.

phikal avatar Mar 18 '24 05:03 phikal