GithubHelp home page GithubHelp logo

We need a release process about circe HOT 9 CLOSED

emacs-circe avatar emacs-circe commented on August 10, 2024
We need a release process

from circe.

Comments (9)

twopir avatar twopir commented on August 10, 2024

Emacs24 ships with ELPA, a package mangler. We should probably be compatible with that.

from circe.

jorgenschaefer avatar jorgenschaefer commented on August 10, 2024

Yes. I don't use package.el, does anyone know how that stuff works? :o)

from circe.

jorgenschaefer avatar jorgenschaefer commented on August 10, 2024

Apparently: Have a file called circe-pkg.el in your root containing this:

(define-package "circe" "0.5" "A Client for IRC in Emacs")
;; no-byte-compile: t

And make a circe-0.5.tar out of it (note .tar, not .tar.gz – wtf?).

How would we get it into the official GNU elpa?

from circe.

jorgenschaefer avatar jorgenschaefer commented on August 10, 2024
  • Add release argument to build.sh:
    • Tags the current commit with git tag vX.Y.Z
    • Creates a circe-/ directory
    • Generates circe-auto.el and circe-pkg.el
    • Byte-compiles files in the lisp/ directory in there
    • Make a tar.gz out of that directory, and delete the directory
  • Push the tag with git push --tags
  • Upload the .tar.gz via https://github.com/jorgenschaefer/circe/downloads
  • Do the magic stuff that's needed to get the tar into GNU elpa

Anything I missed?

from circe.

jorgenschaefer avatar jorgenschaefer commented on August 10, 2024
  • package.el will try and figure out if a package has a README file. If it does, it will put the contents of that file into the pkg-info vector. It will not do anything with that anymore.
  • It supports a circe-readme.txt in package-user-dir. That can be downloaded separately, not in the .tar
  • => Copy README.md as circe-readme.txt to elpa, too.
  • package.el wants circe-autoloads.el, not circe-auto.el.
  • package.el would support info documentation. I don't see a particular need to revive that, though (non-wiki documentation tends to be very, very outdated)

from circe.

jorgenschaefer avatar jorgenschaefer commented on August 10, 2024

Apparently, that README is used anyhow. Just didn't find where. Fancy.

http://marmalade-repo.org/doc-files/package.5.html has the marmalade documentation.

marmalade is self-signup, I'll do that for releases until we figure out how GNU works.

from circe.

jorgenschaefer avatar jorgenschaefer commented on August 10, 2024

So, process now:

  • Add release argument to build.sh:
    • Tags the current commit with git tag vX.Y.Z
    • Creates a circe-/ directory
    • Rename README.md to README
    • Generates circe-autoloads.el (new name!) and circe-pkg.el
    • Byte-compiles files in the lisp/ directory
    • Make a .tar and a .tar.gz out of that directory, and delete the directory
  • Push the tag with git push --tags
  • Upload the .tar.gz via https://github.com/jorgenschaefer/circe/downloads
  • Upload the .tar via http://marmalade-repo.org/

Anything I missed? :-)

from circe.

jorgenschaefer avatar jorgenschaefer commented on August 10, 2024

Actually, we probably want a separate README with the package description as opposed to copying the README.md, as that includes installation instructions irrelevant to package.el. Possibly just automatically extract the "Overview" and and "Documentation" sections.

Also, package.el apparently expects all files in the main directory of the .tar, so we should likely do exactly that.

from circe.

jorgenschaefer avatar jorgenschaefer commented on August 10, 2024

build.sh should create separate elpa packages for Circe, lui, tracking, and lcs to allow individual dependency by scripts.

from circe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.