Re: utils: Improve docstrings.
taylanbayi...@gmail.com (Taylan Ulrich Bayırlı/Kammer\) skribis: The behavior could be changed, but it seems like it was explicitly programmed to work this way, and does make sense in a way, so I decided to add a warning about this into the docstrings of `substitute' and `substitute*'. Makes sense. I’ve applied to patch to ‘core-updates’, since it’s a full-rebuild change. Thanks! Ludo’.
wip-arm
At Ludo's request I have started a branch: wip-arm It contains the start of a port to an Arm architecture. Currently it hasn't got very far unfortunately. -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key. signature.asc Description: Digital signature
Re: Howto run guix.el correctly?
Alex Kost alez...@gmail.com skribis: As I wrote at http://lists.gnu.org/archive/html/guix-devel/2014-08/msg00165.html, I see the only way to achieve that: - to modify emacs package recipes so that they will provide some files with all required initial configuration (and to name such file …-autoloads.el, for example); ‘FOO-autoloads.el’ is the most common convention, right? - to modify “guix-init.el” so that (require 'guix-init) will load those autoloads files; - to write some elisp code for auto-loading …-autoloads.el on the fly — i.e., to make it possible to install an Emacs package using guix.el and to use M-x package-command immediately. Yep, that sounds good. So if it's acceptable, what about modifying the current recipes step-by-step. With geiser it's easy: as geiser-install.el provides all required setup (including autoloads for M-x … commands), geiser-autoloads.el may just be a symlink to geiser-install.el. I'm attaching the patch for that. Yes. +(arguments + '(#:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (symlink geiser-install.el +(string-append (assoc-ref outputs out) + /share/emacs/site-lisp/ + geiser-autoloads.el))) + %standard-phases))) This particular instance won’t work because it’s called from $top_builddir. Actually, since it’s going to be used in most packages, what about adding an ‘install-autoloads’ procedure in (guix build emacs-utils)? So the above would become (alist-cons-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (install-autoloads (assoc-ref outputs out))) %standard-phases) Or better yet, (guix build emacs-utils) could provide %standard-emacs-phases. WDYT? Thanks, Ludo’.
Re: [PATCH] gnu: Add pyparsing.
On 11/25/2014 06:51 PM, Federico Beffa wrote: Cyril Roelandt tipec...@gmail.com writes: Maybe you could add the PyPI mirror here. I'm not sure I understand. Do you mean replace or really add? A second uri field? Could you give an example? The sourceforge download site is the one mentioned on the homepage. Yes. The uri field can be a list (see libpng for instance). It would be nice to have two reliable mirrors here. There is a unitTests.py that can be run manually, if I'm not mistaken. Maybe you could replace the check phase ? I do not think so. I do not see any reference to tests in the README and other source files and I can't find a file called unitTests.py. Oh, that might just be in the SVN repository, then. I trust you on the doc thing :) Is it something that could somehow be part of the python build system? I'm not a python expert :-) From the few packages that I prepared lately, I have the impression that each python library does something different with the documentation. Sad but true. Do not start the synopsis by a. You may want to run guix lint on your package to find such issues. Ooops, forgot to run that. Thanks for the review, Thanks for the package! Cyril.
[PATCH] gnu: Add numpydoc.
Please find attached a package definition for numpydoc. Regards, Fede From 5f376151471f30864ab96fb3e9f661ddf58bff82 Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Wed, 26 Nov 2014 17:29:16 +0100 Subject: [PATCH] gnu: Add numpydoc. * gnu/packages/python.scm (python-numpydoc, python2-numpydoc): New variables. --- gnu/packages/python.scm | 34 ++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c0eea3c..68dc67f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1981,3 +1981,37 @@ that client code uses to construct the grammar directly in Python code.) (define-public python2-pyparsing (package-with-python2 python-pyparsing)) +(define-public python-numpydoc + (package +(name python-numpydoc) +(version 0.5) +(source + (origin + (method url-fetch) + (uri (string-append + https://pypi.python.org/packages/source/n/numpydoc/numpydoc-; + version .tar.gz)) + (sha256 +(base32 + 0d4dnifaxkll50jx6czj05y8cb4ny60njd2wz299sj2jxfy51w4k +(build-system python-build-system) +(inputs + `((python-setuptools ,python-setuptools) + (python-docutils ,python-docutils) + (python-sphinx ,python-sphinx) + (python-nose ,python-nose))) +(home-page https://pypi.python.org/pypi/numpydoc;) +(synopsis + Numpy's Sphinx extensions) +(description + Sphinx extension to support docstrings in Numpy format.) +(license bsd-2))) + +(define-public python2-numpydoc + (package +(inherit (package-with-python2 python-numpydoc)) +;; With python-2 1 test (out of 30) fails because it doesn't find +;; matplotlib. With python-3 it seems to detect at run-time the absence +;; of matplotlib. +(arguments `(#:tests? #f + #:python ,python-2 -- 1.8.4
Re: [PATCH 12/13] gnu: Add python2-pygtk.
On 11/26/2014 09:30 AM, Federico Beffa wrote: On Wed, Nov 26, 2014 at 4:46 AM, Eric Bavier ericbav...@gmail.com wrote: On Sat, Nov 22, 2014 at 10:18 AM, Eric Bavier ericbav...@gmail.com wrote: On Sat, Nov 22, 2014 at 9:40 AM, Federico Beffa be...@ieee.org wrote: Eric Bavier ericbav...@gmail.com skribis: * gnu/packages/gtk.scm (python2-pygtk): New variable. I notice that most python packages are defined for python 3 and then a python2 package is generated with the procedure 'package-with-python2'. Is pygtk problematic with python 3? It has been a while since I did the packaging work for this python2-pygtk, and I seem to recall that there was some sort of difficulty with python3. It looks possible, but from what I can tell, it might require more work on the packages that pygtk depends on, some of which aren't compatible with python3 or would requires updates to work with python3. I noticed that pygtk depends on pycairo and the home page of the latter provides two sources: one for python3 and one for python2. Maybe that's the package causing some troubles. http://cairographics.org/pycairo/ Are the Python bindings currently built by the cairo package? If so, which version is used? Andreas, do you know this? Cyril.
Re: Howto run guix.el correctly?
Adam Pribyl (2014-11-23 00:04 +0300) wrote: On Sat, 22 Nov 2014, Alex Kost wrote: Adam Pribyl (2014-11-22 01:28 +0300) wrote: I have folloed the instruction in http://www.gnu.org/software/guix/manual/guix.html#Emacs-Interface to get the emacs interface for guix, but there is something missing probably. Installation of emacs and geiser was OK, I changed the path to guix.el (there is no /usr/share/ in my guix installation, I had to find guix.el in the /gnu/store), after that I can start emacs and M-x guix-... but every action says Cannot open load file: no such file or directory geiser-mode. If you mean you did (add-to-list 'load-path /gnu/store/...), then it's definitely not right. There should probably be also the geiser path in the emacs init file or something? I assume you use a Guix (or GNU or whatever it should be called) system. I must admit I have not tried it yet, and all I know about setting guix.el there I learnt from a chat with davexunit on #guix today. So I think the following should be added to your emacs config: - Add dirs with guix.el and geiser to load-path (I'm absolutely not sure about the correctness of the paths, so double check please): (add-to-list 'load-path /run/current-system/profile/share/emacs/site-lisp/) (add-to-list 'load-path ~/.guix-profile/share/emacs/site-lisp) - Initial setup of geiser: (require 'geiser-install) - Initial setup of guix: (require 'guix-init) Right, I am testing it under GNU system (USB installed image with guix 0.8). Thanks for the point regarding geiser. This is now my ~/.emacs (add-to-list 'load-path /gnu/store/ysh4fvnxr0p8xrphcikivpafgvf6g18m-guix-0.8/share/emacs/site-lisp/) (add-to-list 'load-path ~/.guix-profile/share/emacs/site-lisp) (require 'geiser-install) (require 'guix-init) Reason for the /gnu/store path is, that guix.el is a part of guix and I did not found it in any profile. I've added my profile path, where the geiser is (as it is installed by this user), but the /run/current-system has no share/emacs at all. I do not know why. Did you check the right path? It's /run/current-system/profile/share/emacs..., not /run/current-system/share/emacs/... While I got further, it is still somewhat confused as invoking guix-all-available-packages results in error in process sentinel: Text is read-only No prompt found! Thanks Adam and David for reporting. You encouraged me to install the system (at last). So the problem was that a default directory with guix scheme files was not added to the %load-path (it is fixed with commit cbbc877). As a workaround you may perform guix pull – after that the REPL should start without errors. So to recap, to make guix.el work in the current system one should do the following: 1. guix pull to populate ~/.config/guix/latest (this step will not be required for the future releases) 2. Install geiser: guix package -i geiser 3. Setup geiser (hopefully this step will not be required soon) Put in your emacs config: (add-to-list 'load-path ~/.guix-profile/share/emacs/site-lisp) (require 'geiser-install) 4. Setup guix.el. Put in your emacs config: (add-to-list 'load-path path-to-a-directory-with-guix.el) (require 'guix-init) I appreciate if someone confirm that the above works (or doesn't work :-)). -- Alex
Re: Howto run guix.el correctly?
Ludovic Courtès (2014-11-26 19:23 +0300) wrote: Alex Kost alez...@gmail.com skribis: As I wrote at http://lists.gnu.org/archive/html/guix-devel/2014-08/msg00165.html, I see the only way to achieve that: - to modify emacs package recipes so that they will provide some files with all required initial configuration (and to name such file …-autoloads.el, for example); ‘FOO-autoloads.el’ is the most common convention, right? I think there is no any convention on this, but emacs package system generates “foo-autoloads.el” indeed. - to modify “guix-init.el” so that (require 'guix-init) will load those autoloads files; - to write some elisp code for auto-loading …-autoloads.el on the fly — i.e., to make it possible to install an Emacs package using guix.el and to use M-x package-command immediately. Yep, that sounds good. So if it's acceptable, what about modifying the current recipes step-by-step. With geiser it's easy: as geiser-install.el provides all required setup (including autoloads for M-x … commands), geiser-autoloads.el may just be a symlink to geiser-install.el. I'm attaching the patch for that. Yes. +(arguments + '(#:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (symlink geiser-install.el +(string-append (assoc-ref outputs out) + /share/emacs/site-lisp/ + geiser-autoloads.el))) + %standard-phases))) This particular instance won’t work because it’s called from $top_builddir. Sorry I didn't understand why it wouldn't work. I tried it and it worked as I expected: a proper geiser-autoloads.el symlink was created. Actually, since it’s going to be used in most packages, what about adding an ‘install-autoloads’ procedure in (guix build emacs-utils)? So the above would become (alist-cons-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (install-autoloads (assoc-ref outputs out))) %standard-phases) OK. Or better yet, (guix build emacs-utils) could provide %standard-emacs-phases. WDYT? The problem is that I don't understand what these %standard-emacs-phases should be, that's why I wanted to do it step-by-step. I don't see general patterns right now. Some packages would require just making a link as with geiser, other packages require generating autoloads and maybe some others require additional steps. What about making wip-emacs-packages branch and to put the appropriate changes there for now? -- Alex
Re: Installing the system from another distro
Ludovic Courtès (2014-11-25 17:48 +0300) wrote: Alex Kost alez...@gmail.com skribis: [...] I have another question. I used --no-grub option, so I don't have a proper grub.cfg. I expected to see “/boot” directory with symlinks to the linux and initram images but there is no such dir. Do I understand it right that “/gnu/store/…-linux-libre-3.17.4/bzImage” and “/gnu/store/…-base-initrd/initrd” are hardcoded in the grub.cfg? Yes, that’s correct. Actually, when passing --no-grub, ‘guix system’ doesn’t even bother generating grub.cfg (see ‘perform-action’ in (guix scripts system).) So if you really want to use --no-grub, you should retrieve the kernel and initrd file names, and manually add them to your bootloader’s config. One way to do that is to run: guix system build my-system-config.scm The returned directory name contains the initrd and kernel, among other things. Note that you’ll also need to pass --root= and --system= on the kernel command line (see the ‘operating-system-grub.cfg’ procedure.) And --load= too :-) As you see, passing --no-grub is not an optimized use case. :-) Thanks for the pointers! You helped to figure it out. And the system is awesome!! The only big issue I've noticed so far is: the screen resolution was 800x600 for me and xrandr didn't give any other option. /var/log/Xorg.0.log told me that the module for my videocard (sis) wasn't loaded. I looked at (gnu services xorg) and found that not all available xf86-video-… modules are placed at xserver.conf. Is there a reason for that? Hm, perhaps I just need to install xf86-video-sis package (I should have tried it before asking). Also I have a question. I usually add some custom lines to xorg.conf. I suppose currently there is no other way to do it but to make my own xorg (slim) service. Right? -- Alex
Re: [PATCH] gnu: Add numpydoc.
Federico Beffa be...@ieee.org skribis: From 5f376151471f30864ab96fb3e9f661ddf58bff82 Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Wed, 26 Nov 2014 17:29:16 +0100 Subject: [PATCH] gnu: Add numpydoc. * gnu/packages/python.scm (python-numpydoc, python2-numpydoc): New variables. LGTM, thanks. Ludo'.
Re: Installing the system from another distro
Alex Kost alez...@gmail.com skribis: Ludovic Courtès (2014-11-25 17:48 +0300) wrote: [...] Note that you’ll also need to pass --root= and --system= on the kernel command line (see the ‘operating-system-grub.cfg’ procedure.) And --load= too :-) Oops. I wanted to make sure you would find by yourself. ;-) As you see, passing --no-grub is not an optimized use case. :-) Thanks for the pointers! You helped to figure it out. And the system is awesome!! The only big issue I've noticed so far is: the screen resolution was 800x600 for me and xrandr didn't give any other option. /var/log/Xorg.0.log told me that the module for my videocard (sis) wasn't loaded. I looked at (gnu services xorg) and found that not all available xf86-video-… modules are placed at xserver.conf. Is there a reason for that? No reason! Please do add it. Hm, perhaps I just need to install xf86-video-sis package (I should have tried it before asking). X would not find it; it really needed to be listed in the search path in xorg.conf. Also I have a question. I usually add some custom lines to xorg.conf. I suppose currently there is no other way to do it but to make my own xorg (slim) service. Right? Actually it’s ‘xorg-start-command’ that creates xorg.conf. The best thing would be to add a parameter to that function to allow arbitrary text to be appended. (Well, not just text, but a list of strings and possibly packages; the ‘xserver.conf’ procedure would do (apply text-file* xserver.conf ... user-text).) WDYT? Thanks, Ludo’.
Fwd: Re: [PATCH 12/13] gnu: Add python2-pygtk.
Forwarded Message Subject: Re: [PATCH 12/13] gnu: Add python2-pygtk. Date: Wed, 26 Nov 2014 21:42:08 +0100 From: Andreas Enge andr...@enge.fr To: Cyril Roelandt tipec...@gmail.com On Wed, Nov 26, 2014 at 05:50:49PM +0100, Cyril Roelandt wrote: I noticed that pygtk depends on pycairo and the home page of the latter provides two sources: one for python3 and one for python2. Maybe that's the package causing some troubles. http://cairographics.org/pycairo/ Are the Python bindings currently built by the cairo package? If so, which version is used? Andreas, do you know this? As I have not followed the discussion, my reply may be unhelpful... From what I understand from the page http://www.cairographics.org/bindings/ the bindings are separate packages, which then also holds for pycairo. Nix has a separate pycairo package, and we would need to add one. The cairo package itself does not contain any bindings. Python is used as a native input; maybe for tests? So I would expect both python 2 and python 3 bindings to work with our cairo package. Andreas
Re: Howto run guix.el correctly?
Alex Kost alez...@gmail.com skribis: Ludovic Courtès (2014-11-26 19:23 +0300) wrote: [...] +(arguments + '(#:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (symlink geiser-install.el +(string-append (assoc-ref outputs out) + /share/emacs/site-lisp/ + geiser-autoloads.el))) + %standard-phases))) This particular instance won’t work because it’s called from $top_builddir. Sorry I didn't understand why it wouldn't work. I tried it and it worked as I expected: a proper geiser-autoloads.el symlink was created. Oh indeed, I misunderstood the code above, sorry. Actually, since it’s going to be used in most packages, what about adding an ‘install-autoloads’ procedure in (guix build emacs-utils)? So the above would become (alist-cons-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (install-autoloads (assoc-ref outputs out))) %standard-phases) OK. Or better yet, (guix build emacs-utils) could provide %standard-emacs-phases. WDYT? The problem is that I don't understand what these %standard-emacs-phases should be, (define %standard-emacs-phases (alist-cons-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (install-autoloads (assoc-ref outputs out))) %standard-phases)) that's why I wanted to do it step-by-step. I don't see general patterns right now. Some packages would require just making a link as with geiser, other packages require generating autoloads and maybe some others require additional steps. What about making wip-emacs-packages branch and to put the appropriate changes there for now? Sure! Thank you, Ludo’.
Re: gnu: Add mg.
taylanbayi...@gmail.com (Taylan Ulrich Bayırlı/Kammer\) skribis: + (snippet + '(begin + (substitute* Makefile.in +((-Werror) ) +((-lcurses) -lncurses) OK. +((/usr/bin/install install) + (string-append install -D))) Here ‘install’ is bound to the complete match–i.e., “/usr/bin/install”. So in effect, this clause keeps “/usr/bin/install” and appends ‘-D’, which is why you have to patch it again in the ‘pre-configure’ phase. It would be simpler to directly replace “/usr/bin/install” by “install -D” in this snippet. Likewise, “/usr/bin/strip” should be replaced by “strip” in the snippet. In general, all the input-independent substitutions should go in the snippet. [...] + ;; Fix pathes in Makefile.in. s/pathes/file names/. + (substitute* Makefile.in + (((prefix=[[:blank:]]*)/usr/local all prefix) + (string-append prefix (assoc-ref outputs out))) This is the only substitute* clause that should remain here. Could you send an updated patch? Thanks, Ludo’.
Re: gnu: Add mg.
Neat, didn't know I could leave out the absolute paths. From 9946ebe13954913513956c8d8130f58149daf45f Mon Sep 17 00:00:00 2001 From: Taylan Ulrich B taylanbayi...@gmail.com Date: Wed, 26 Nov 2014 23:14:16 +0100 Subject: [PATCH] gnu: Add mg. * gnu/packages/mg.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add mg.scm. --- gnu-system.am | 1 + gnu/packages/mg.scm | 64 + 2 files changed, 65 insertions(+) create mode 100644 gnu/packages/mg.scm diff --git a/gnu-system.am b/gnu-system.am index 4c9fcda..77d4915 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -173,6 +173,7 @@ GNU_SYSTEM_MODULES =\ gnu/packages/mc.scm\ gnu/packages/mcrypt.scm \ gnu/packages/messaging.scm \ + gnu/packages/mg.scm\ gnu/packages/miscfiles.scm \ gnu/packages/mit-krb5.scm \ gnu/packages/moe.scm\ diff --git a/gnu/packages/mg.scm b/gnu/packages/mg.scm new file mode 100644 index 000..a315dfe --- /dev/null +++ b/gnu/packages/mg.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer taylanbayi...@gmail.org +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see http://www.gnu.org/licenses/. + +(define-module (gnu packages mg) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config)) + +(define-public mg + (package +(name mg) +(version 20050429) +(source (origin + (method url-fetch) + (uri (string-append http://homepage.boetes.org/software/mg/mg-; + version .tar.gz)) + (sha256 + (base32 +19kib0aha4a40izzds7r63qfb2akq4sily6k28fl0n0zdgq0cna1)) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* Makefile.in +((-Werror) ) +((-lcurses) -lncurses) +((/usr/bin/install) install -D) +((/usr/bin/strip) strip)) +(build-system gnu-build-system) +(inputs + `((ncurses ,ncurses))) +(arguments + ;; No test suite available. + '(#:tests? #f + #:phases (alist-cons-before + 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* Makefile.in + (((prefix=[[:blank:]]*)/usr/local all prefix) + (string-append prefix (assoc-ref outputs out) + %standard-phases))) +(home-page http://homepage.boetes.org/software/mg/;) +(synopsis Microscopic GNU Emacs clone) +(description + mg is Micro GNU Emacs; this is a portable version of the mg maintained +by the OpenBSD team.) +(license public-domain))) -- 2.1.2