Message ID | CAJ98PDyOD==L5A+JGhrJnqmrOCge8qEcG1oasV-8DdQkDEK8_Q@mail.gmail.com |
---|---|
State | New |
Headers | show |
Catonano (2016-05-18 01:44 +0300) wrote: [...] > Smartparens uses Cask. Cask is a language specific project management > tool. > > Exactly the kind of thing that Guix aims at (right ?) > > As far as I understand, Cask provides, among other things, some unit > tests running facility > > There's a target in a makefile piloting Cask to run the test. So I > understand. And there's a folder filled with .el files containing > tests to be run. > > So, the makefile, the Cask file, Make, Cask and the tests folder are > dependencies ONLY in development. > > So maybe there should be 2 outputs for this project, one vanilla > output and one for development. I think there is no need to do this. > It gets worse > > There's a specific set of dependencies for every Smartparens submode > (some languages have their own submode) so there should be an output > for each of those I think that a single output is absolutely OK: all these files (like "smartparens-haskell.el") are a part of the whole smartparens package; moreover there is no any "specific set of dependencies". The only dependency for smartparens is the "dash" library. > And finally there's also a .travis.yml file, an images folder with > some gif files in it, an org-mode file and some files ending with > .feature > > All this seems an excess to me. A developer will be able to set up an > environment with Make, Cask and other ad hoc dependencies and the > files will be present in the package anyway, even if not used. > > It's a few kilobytes anyway. I personally wouldn't care about cask, travis.yml and other files, and would just create a plain package using emacs-build-system. It will provide the same functioning package as the one you would install with Emacs (using "M-x list-packages"). I don't see a reason to deal with all the additional complexity you mentioned.
2016-05-18 11:12 GMT+02:00 Alex Kost <alezost@gmail.com>: > Catonano (2016-05-18 01:44 +0300) wrote: > > I think that a single output is absolutely OK: all these files (like > "smartparens-haskell.el") are a part of the whole smartparens package; > moreover there is no any "specific set of dependencies". The only > dependency for smartparens is the "dash" library. > I think I saw a file requiring the ruby mode. > >> > > > It's a few kilobytes anyway. > > > > I personally wouldn't care about cask, travis.yml and other files, and > > would just create a plain package using emacs-build-system. It will > > provide the same functioning package as the one you would install with > > Emacs (using "M-x list-packages"). I don't see a reason to deal with > > all the additional complexity you mentioned. > > That's what I thought too and the patch attached to the previous message does exactly this. It uses the emacs build system without caring for Cask, Travis or anything The dash library is in the propagated inputs
Catonano (2016-05-18 12:24 +0300) wrote: > 2016-05-18 11:12 GMT+02:00 Alex Kost <alezost@gmail.com>: > > Catonano (2016-05-18 01:44 +0300) wrote: > > I think that a single output is absolutely OK: all these files > (like > "smartparens-haskell.el") are a part of the whole smartparens > package; > moreover there is no any "specific set of dependencies". The > only > dependency for smartparens is the "dash" library. > > I think I saw a file requiring the ruby mode. "I think I saw" is not a proof :-) If you mean <https://github.com/Fuco1/smartparens/blob/master/smartparens-ruby.el>, then it doesn't require any ruby mode. Believe me, "dash" is the only dependency. Of course, if one wants to use smartparens with a haskell mode, (s)he need to have this mode, but it is not required. > > I personally wouldn't care about cask, travis.yml and other > files, and > > would just create a plain package using emacs-build-system. It > will > > provide the same functioning package as the one you would > install with > > Emacs (using "M-x list-packages"). I don't see a reason to > deal with > > all the additional complexity you mentioned. > > That's what I thought too and the patch attached to the previous > message does exactly this. Sorry, I overlooked it. Applied as 5c447e2. Thanks!
From 141693a22e271afc8dc372c19fc57a4c2c83ba69 Mon Sep 17 00:00:00 2001 From: humanitiesNerd <catonano@gmail.com> Date: Tue, 17 May 2016 23:07:06 +0200 Subject: gnu: Add smartparens * gnu/packages/emacs.scm (emacs-smartparens): New variable --- gnu/packages/emacs.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 32ed722..d5f3da2 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1612,3 +1612,33 @@ It is built on top of the custom theme support in Emacs 24 or later.") (license license:gpl3+))) +(define-public emacs-smartparens +(package + (name "emacs-smartparens") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/Fuco1/smartparens/archive/" + version + ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b47ppkzsj8j8a2p0bmvq05rhm2d2lsm3wlc0sg542r4zr6nji8s")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/Fuco1/smartparens") + (synopsis + "Paredit-like insertion, wrapping and navigation with user defined pairs") + (description + "Smartparens is a minor mode for Emacs that deals with parens pairs +and tries to be smart about it. It started as a unification effort +to combine functionality of several existing packages in a single, +compatible and extensible way to deal with parentheses, delimiters, +tags and the like. Some of these packages include autopair, +textmate, wrap-region, electric-pair-mode, paredit and others. With +the basic features found in other packages it also brings many +improvements as well as completely new features") + (license license:gpl3+))) -- 2.5.5