* Package Definition Place @ 2013-12-30 3:55 Kete 2013-12-30 7:16 ` John Darrington [not found] ` <1458111.8sUPPTkUlg@knossos> 0 siblings, 2 replies; 29+ messages in thread From: Kete @ 2013-12-30 3:55 UTC (permalink / raw) To: guix-devel Where does a package definition go to build a local package with Guix: /nix/store? ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2013-12-30 3:55 Package Definition Place Kete @ 2013-12-30 7:16 ` John Darrington 2013-12-31 0:37 ` Kete [not found] ` <1458111.8sUPPTkUlg@knossos> 1 sibling, 1 reply; 29+ messages in thread From: John Darrington @ 2013-12-30 7:16 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 529 bytes --] I'm not sure that I understand the question correctly. Package definitions reside in gnu/package/*.scm The packages themselves, once built, get automatically put into /nix/store. J' On Sun, Dec 29, 2013 at 10:55:59PM -0500, Kete wrote: Where does a package definition go to build a local package with Guix: /nix/store? -- 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. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2013-12-30 7:16 ` John Darrington @ 2013-12-31 0:37 ` Kete 2014-01-01 12:52 ` John Darrington 0 siblings, 1 reply; 29+ messages in thread From: Kete @ 2013-12-31 0:37 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel On Monday, December 30, 2013 08:16:01 AM John Darrington wrote: > Package definitions reside in gnu/package/*.scm The packages themselves, > once built, get automatically put into /nix/store. > Sorry, I always forget to 'Reply all'. I hope you don't mind if I take this back public. On Monday, December 30, 2013 02:23:33 PM you wrote: > On Mon, Dec 30, 2013 at 05:57:48AM -0500, Kete wrote: > I'm asking if we're defining packages, how do we build them? > > > What I do is: > > make && ./pre-inst-env guix build <pkg-name> Thanks, what do you do with the scm (Scheme) package definition file? Does it play a part in that? Do we place it in the current directory? What if I used 'guix download', and the tarball is in /nix/store? Will it just work? Wait, what is "pre-inst-env"? I'm a little lost. I'm just trying to contribute a package of my shell, so I can use it in Emacs. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2013-12-31 0:37 ` Kete @ 2014-01-01 12:52 ` John Darrington 2014-01-01 16:05 ` Kete 0 siblings, 1 reply; 29+ messages in thread From: John Darrington @ 2014-01-01 12:52 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1217 bytes --] On Mon, Dec 30, 2013 at 07:37:26PM -0500, Kete wrote: > make && ./pre-inst-env guix build <pkg-name> Thanks, what do you do with the scm (Scheme) package definition file? Does it play a part in that? Do we place it in the current directory? The .scm file usually stays in the directory gnu/packages/ What if I used 'guix download', and the tarball is in /nix/store? Will it just work? No. "guix download" is a convenience function for package developers. It downloads the tarball, places it in the store and reports the hash. Nothing else (so far as I'm aware). Wait, what is "pre-inst-env"? I'm a little lost. I'm just trying to contribute a package of my shell, so I can use it in Emacs. pre-inst-env merely sets a number of environment parameters so that you can build and install newly defined pacakges without having to have those package definitions actually installed. Maybe having a look at what is currently in gnu/packags/emacs.scm will help -- 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. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-01 12:52 ` John Darrington @ 2014-01-01 16:05 ` Kete 0 siblings, 0 replies; 29+ messages in thread From: Kete @ 2014-01-01 16:05 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel On Wednesday, January 01, 2014 01:52:35 PM you wrote: > The .scm file usually stays in the directory gnu/packages/ If you mean http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/, then how do I contribute to the project? > "guix download" is a convenience function for package developers. I'm trying to develop a package. ^ permalink raw reply [flat|nested] 29+ messages in thread
[parent not found: <1458111.8sUPPTkUlg@knossos>]
[parent not found: <20140101160917.GA13487@intra>]
* Re: Package Definition Place [not found] ` <20140101160917.GA13487@intra> @ 2014-01-01 16:32 ` Kete 2014-01-01 16:50 ` John Darrington 0 siblings, 1 reply; 29+ messages in thread From: Kete @ 2014-01-01 16:32 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel On Wednesday, January 01, 2014 05:09:18 PM John Darrington wrote: > When it's ready rpPost a patch to the list. Ludovic will commit it to the > repository (if he likes it). This is my problem. How do I know if it works if I can't test it by building the package? Thanks ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-01 16:32 ` Kete @ 2014-01-01 16:50 ` John Darrington 2014-01-01 19:13 ` Kete 0 siblings, 1 reply; 29+ messages in thread From: John Darrington @ 2014-01-01 16:50 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 711 bytes --] On Wed, Jan 01, 2014 at 11:32:35AM -0500, Kete wrote: On Wednesday, January 01, 2014 05:09:18 PM John Darrington wrote: > When it's ready rpPost a patch to the list. Ludovic will commit it to the > repository (if he likes it). This is my problem. How do I know if it works if I can't test it by building the package? To build: make && ./pre-inst-env guix build <pkg> To install: ./pre-inst-env guix package -i <pkg> Perform any tests you deem necessary, then submit the patch. J' -- 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. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-01 16:50 ` John Darrington @ 2014-01-01 19:13 ` Kete 2014-01-01 19:55 ` John Darrington 0 siblings, 1 reply; 29+ messages in thread From: Kete @ 2014-01-01 19:13 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel On Wednesday, January 01, 2014 05:50:05 PM John Darrington wrote: > make && ./pre-inst-env guix build "no such file or directory: ./pre-inst-env" So I need this: http://git.savannah.gnu.org/cgit/guix.git/tree/pre-inst-env.in? can't cd to @abs_top_srcdir@ or @abs_top_builddir@ ERROR: no code for module (guix ui) Am I supposed to "add to a module"? If so, how? ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-01 19:13 ` Kete @ 2014-01-01 19:55 ` John Darrington 2014-01-01 20:38 ` Kete 2014-01-01 22:30 ` Kete 0 siblings, 2 replies; 29+ messages in thread From: John Darrington @ 2014-01-01 19:55 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 835 bytes --] Are you working from Git or from a released tarball? Either way, the pre-inst-env file should exist in your build directory (after you have built guix of course) On Wed, Jan 01, 2014 at 02:13:42PM -0500, Kete wrote: On Wednesday, January 01, 2014 05:50:05 PM John Darrington wrote: > make && ./pre-inst-env guix build "no such file or directory: ./pre-inst-env" So I need this: http://git.savannah.gnu.org/cgit/guix.git/tree/pre-inst-env.in? can't cd to @abs_top_srcdir@ or @abs_top_builddir@ ERROR: no code for module (guix ui) Am I supposed to "add to a module"? If so, how? -- 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. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-01 19:55 ` John Darrington @ 2014-01-01 20:38 ` Kete 2014-01-01 22:30 ` Kete 1 sibling, 0 replies; 29+ messages in thread From: Kete @ 2014-01-01 20:38 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel On Wednesday, January 01, 2014 08:55:07 PM John Darrington wrote: > the > pre-inst-env file should exist in your build directory (after you have built > guix of course) If I finish this process, maybe somebody could use the instructions. The location of pre-inst-env was one of my earlier questions. How can I be more clear? How is the <pkg> argument supposed to work? Guix can't find the package. This is a package that the Guix project has not provided. I am trying to create it. Is that still encouraged as it was in the manual? Are you leaving out information to discourage me? Am I supposed to add a module to gnu-system.am? ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-01 19:55 ` John Darrington 2014-01-01 20:38 ` Kete @ 2014-01-01 22:30 ` Kete 2014-01-02 2:44 ` Nikita Karetnikov 1 sibling, 1 reply; 29+ messages in thread From: Kete @ 2014-01-01 22:30 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel make[2]: *** No rule to make target `gnu/packages/zsh.scm', needed by `all- am'. Stop. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-01 22:30 ` Kete @ 2014-01-02 2:44 ` Nikita Karetnikov 2014-01-02 2:50 ` Nikita Karetnikov 2014-01-03 2:28 ` Kete 0 siblings, 2 replies; 29+ messages in thread From: Nikita Karetnikov @ 2014-01-02 2:44 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 763 bytes --] > Am I supposed to add a module to gnu-system.am? Yes, here’s an example [1]. > make[2]: *** No rule to make target `gnu/packages/zsh.scm', needed by `all- > am'. Stop. I’ve just tried the following. Could you do the same and report any issues? $ git clone git://git.sv.gnu.org/guix.git $ cd guix $ ./bootstrap && ./configure --localstatedir=/nix/var && make && make check (See ‘HACKING’ for more information.) Then you could add a recipe (i.e., the definition of a package) to ‘guix/gnu/packages’. For instance, this commit [1] adds the elfutils recipe to ‘gnu/packages/elf.scm’. Did I forget to address anything? [1] http://git.savannah.gnu.org/cgit/guix.git/commit/?id=2ed5b0f42c40b5eb8df462b3cff3399123423182 [-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-02 2:44 ` Nikita Karetnikov @ 2014-01-02 2:50 ` Nikita Karetnikov 2014-01-02 10:06 ` Kete 2014-01-03 2:28 ` Kete 1 sibling, 1 reply; 29+ messages in thread From: Nikita Karetnikov @ 2014-01-02 2:50 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 290 bytes --] > make[2]: *** No rule to make target `gnu/packages/zsh.scm', needed by `all- > am'. Stop. Sorry, I totally misunderstood the context. Are you trying to add Zsh? It seems you added a line to ‘gnu-system.am’ but forgot to add a file to ‘gnu/packages’. Could you confirm? [-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-02 2:50 ` Nikita Karetnikov @ 2014-01-02 10:06 ` Kete 2014-01-02 14:58 ` Nikita Karetnikov 0 siblings, 1 reply; 29+ messages in thread From: Kete @ 2014-01-02 10:06 UTC (permalink / raw) To: Nikita Karetnikov; +Cc: guix-devel On Thursday, January 02, 2014 06:50:25 AM Nikita Karetnikov wrote: > > make[2]: *** No rule to make target `gnu/packages/zsh.scm', needed by > > `all- > > am'. Stop. > > Sorry, I totally misunderstood the context. Are you trying to add Zsh? > > It seems you added a line to ‘gnu-system.am’ but forgot to add a file to > ‘gnu/packages’. Could you confirm? No problem. Yes, I'm trying to add Zsh. Yes, I don't know where 'gnu/packages' is except for savannah. Thanks ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-02 10:06 ` Kete @ 2014-01-02 14:58 ` Nikita Karetnikov 2014-01-02 23:45 ` Kete 0 siblings, 1 reply; 29+ messages in thread From: Nikita Karetnikov @ 2014-01-02 14:58 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 467 bytes --] > Yes, I don't know where 'gnu/packages' is except for savannah. Hm, I’m a bit puzzled. How did you change ‘gnu-system.am’, then? ‘gnu/packages’ should be in the same directory (on your machine) as ‘gnu-system.am’. Did you clone the repository or download the tarball? If not, could you please follow the instructions in my previous email? Are you familiar with Git? Do you know Scheme? Have you contributed to free software projects? [-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-02 14:58 ` Nikita Karetnikov @ 2014-01-02 23:45 ` Kete 0 siblings, 0 replies; 29+ messages in thread From: Kete @ 2014-01-02 23:45 UTC (permalink / raw) To: Nikita Karetnikov; +Cc: guix-devel On Thursday, January 02, 2014 06:58:47 PM Nikita Karetnikov wrote: > Hm, I’m a bit puzzled. How did you change ‘gnu-system.am’, then? gnu-system.am was at the top level. I didn't have a packages folder in my gnu dir. > Did you clone the repository or download the tarball? If not, could you > please follow the instructions in my previous email? I downloaded the 0.5 tarball. Yes, I will be glad to clone the repo. > Are you familiar with Git? Yes, I have used Git's basic commands. > Do you know Scheme? I do not, but I have learned some Elisp fundamentals. > Have you contributed to free software projects? Yes, a little to Parabola and Savannah—I tried to package Clementine by myself for Parabola, but I got some help from their Emulatorman; and I checked the licensing of a couple nongnu applications for Savannah. Kind regards ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-02 2:44 ` Nikita Karetnikov 2014-01-02 2:50 ` Nikita Karetnikov @ 2014-01-03 2:28 ` Kete 2014-01-03 5:50 ` John Darrington 1 sibling, 1 reply; 29+ messages in thread From: Kete @ 2014-01-03 2:28 UTC (permalink / raw) To: Nikita Karetnikov; +Cc: guix-devel On Thursday, January 02, 2014 06:44:00 AM Nikita Karetnikov wrote: > $ git clone git://git.sv.gnu.org/guix.git > $ cd guix > $ ./bootstrap && ./configure --localstatedir=/nix/var && make && make check > > (See ‘HACKING’ for more information.) > > Then you could add a recipe (i.e., the definition of a package) to > ‘guix/gnu/packages’. For instance, this commit [1] adds the elfutils > recipe to ‘gnu/packages/elf.scm’. > > Did I forget to address anything? I copied my package definition to gnu/packages and added a line for it in gnu- system.am. Then, I ran './pre-inst-env guix build zsh' and got this output: guix build: error: failed to connect to `/nix/var/nix/daemon-socket/socket': No such file or directory ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-03 2:28 ` Kete @ 2014-01-03 5:50 ` John Darrington 2014-01-03 11:37 ` Kete 0 siblings, 1 reply; 29+ messages in thread From: John Darrington @ 2014-01-03 5:50 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1228 bytes --] On Thu, Jan 02, 2014 at 09:28:24PM -0500, Kete wrote: On Thursday, January 02, 2014 06:44:00 AM Nikita Karetnikov wrote: > $ git clone git://git.sv.gnu.org/guix.git > $ cd guix > $ ./bootstrap && ./configure --localstatedir=/nix/var && make && make check > > (See ‘HACKING’ for more information.) > > Then you could add a recipe (i.e., the definition of a package) to > ‘guix/gnu/packages’. For instance, this commit [1] adds the elfutils > recipe to ‘gnu/packages/elf.scm’. > > Did I forget to address anything? I copied my package definition to gnu/packages and added a line for it in gnu- system.am. Then, I ran './pre-inst-env guix build zsh' and got this output: guix build: error: failed to connect to `/nix/var/nix/daemon-socket/socket': No such file or directory This would suggest that you haven't got a guix daemon running. Install guix and set up the daemon as described in Chapter 2 of the GUIX manual. J' -- 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. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-03 5:50 ` John Darrington @ 2014-01-03 11:37 ` Kete 2014-01-03 15:16 ` Nikita Karetnikov 2014-01-03 15:19 ` Ludovic Courtès 0 siblings, 2 replies; 29+ messages in thread From: Kete @ 2014-01-03 11:37 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel On Friday, January 03, 2014 06:50:40 AM John Darrington wrote: > This would suggest that you haven't got a guix daemon running. > > Install guix and set up the daemon as described in Chapter 2 of the GUIX > manual. Thanks, here are the results: gnu/packages/zsh.scm:12:2: warning: possibly unbound variable `mit' The license is like MIT. guix build: error: zsh: unknown package ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-03 11:37 ` Kete @ 2014-01-03 15:16 ` Nikita Karetnikov 2014-01-03 15:19 ` Ludovic Courtès 1 sibling, 0 replies; 29+ messages in thread From: Nikita Karetnikov @ 2014-01-03 15:16 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 240 bytes --] > Thanks, here are the results: > > gnu/packages/zsh.scm:12:2: warning: possibly unbound variable `mit' > > The license is like MIT. > > guix build: error: zsh: unknown package I guess it would be easier to help if you provide the code. [-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-03 11:37 ` Kete 2014-01-03 15:16 ` Nikita Karetnikov @ 2014-01-03 15:19 ` Ludovic Courtès 2014-01-04 1:10 ` Kete 1 sibling, 1 reply; 29+ messages in thread From: Ludovic Courtès @ 2014-01-03 15:19 UTC (permalink / raw) To: Kete; +Cc: guix-devel Kete <kete@ninthfloor.org> skribis: > On Friday, January 03, 2014 06:50:40 AM John Darrington wrote: >> This would suggest that you haven't got a guix daemon running. >> >> Install guix and set up the daemon as described in Chapter 2 of the GUIX >> manual. > > Thanks, here are the results: > > gnu/packages/zsh.scm:12:2: warning: possibly unbound variable `mit' > > The license is like MIT. It is called ‘x11’ (to avoid ambiguity with other licenses originating from MIT) in the (guix licenses) module. So you would write (define-module (gnu packages zsh) ... #:use-module (guix licenses) ... ) (define-public zsh (package ... (license x11))) If it’s similar to, but different from the X11 license, use: (license (x11-style "http://url-of/the/license")) > guix build: error: zsh: unknown package That will be solved by the above. HTH! Ludo’. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-03 15:19 ` Ludovic Courtès @ 2014-01-04 1:10 ` Kete 2014-01-04 7:15 ` John Darrington 2014-01-04 11:47 ` Ludovic Courtès 0 siblings, 2 replies; 29+ messages in thread From: Kete @ 2014-01-04 1:10 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 978 bytes --] On Friday, January 03, 2014 04:19:26 PM Ludovic Courtès wrote: > It is called ‘x11’ (to avoid ambiguity with other licenses originating > from MIT) in the (guix licenses) module. So you would write > > (define-module (gnu packages zsh) > ... > (license (x11-style "http://url-of/the/license")) > > > guix build: error: zsh: unknown package > > That will be solved by the above. > > HTH! Thanks, that did help, but I got the following error: checking if tcsetpgrp() actually works... notty configure: error: no controlling tty Try running configure with --with-tcsetpgrp or --without-tcsetpgrp I tried the first flag, but it "failed to match any pattern in form". I was copying the bash.scm, but I'm not sure if Zsh needs the readline and texinfo stuff. Maybe I should just attach my package definition as Nikita requested. It's attached. By the way, the license also says some of the scripts are licensed with the GPL. [-- Attachment #2: zsh.scm --] [-- Type: text/x-scheme, Size: 1292 bytes --] (define-module (gnu packages zsh) #:use-module (guix licenses) ;; #:use-module (gnu packages ncurses) ;; #:use-module (gnu packages readline) ;; #:use-module (gnu packages texinfo) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) (define-public zsh (let* ((configure-flags ``("--with-tcsetpgrp")))) (package (name "zsh") (version "5.0.2") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.zsh.org/zsh/zsh.tar.bz2")) (sha256 (base32 "1s2fvv0zfpi0qg9fzhiv8ac19pwbbjd0sbsbzmll3nqa8k4yfvz9")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("ncurses" ,ncurses) ("texinfo" ,texinfo))) (synopsis "Z Shell") (description "Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. Zsh has command line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features.") (license (x11-style "http://sourceforge.net/p/zsh/code/ci/master/tree/LICENCE")) (home-page "http://www.zsh.org/"))) ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-04 1:10 ` Kete @ 2014-01-04 7:15 ` John Darrington 2014-01-04 21:21 ` Kete 2014-01-04 11:47 ` Ludovic Courtès 1 sibling, 1 reply; 29+ messages in thread From: John Darrington @ 2014-01-04 7:15 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1443 bytes --] On Fri, Jan 03, 2014 at 08:10:56PM -0500, Kete wrote: On Friday, January 03, 2014 04:19:26 PM Ludovic Courtès wrote: > It is called ‘x11’ (to avoid ambiguity with other licenses originating > from MIT) in the (guix licenses) module. So you would write > > (define-module (gnu packages zsh) > ... > (license (x11-style "http://url-of/the/license")) > > > guix build: error: zsh: unknown package > > That will be solved by the above. > > HTH! Thanks, that did help, but I got the following error: checking if tcsetpgrp() actually works... notty configure: error: no controlling tty Try running configure with --with-tcsetpgrp or --without-tcsetpgrp I tried the first flag, but it "failed to match any pattern in form". I was copying the bash.scm, but I'm not sure if Zsh needs the readline and texinfo stuff. Maybe I should just attach my package definition as Nikita requested. It's attached. (let* ((configure-flags ``("--with-tcsetpgrp")))) The example in bash.scm is over complicated. Look at some of the examples in xorg.scm to see how to set configure-flags. -- 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. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-04 7:15 ` John Darrington @ 2014-01-04 21:21 ` Kete 2014-01-04 22:25 ` John Darrington 2014-01-05 18:21 ` Ludovic Courtès 0 siblings, 2 replies; 29+ messages in thread From: Kete @ 2014-01-04 21:21 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel On Saturday, January 04, 2014 08:15:40 AM John Darrington wrote: > The example in bash.scm is over complicated. Look at some of the examples > in xorg.scm to see how to set configure-flags. That got me a little further. Src/../Src/mkmakemod.sh: line 467: /bin/sh: No such file or directory Makefile:299: recipe for target 'Makemod' failed These are the lines around 464-470: if $second_stage ; then trap "rm -f $the_subdir/${the_makefile}; exit 1" 1 2 15 ${CONFIG_SHELL-/bin/sh} ./config.status \ --file=$the_subdir/${the_makefile}:$the_subdir/${the_makefile}.in || exit 1 fi I tried with the --without-tcsetpgrp flag, but I got the same error. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-04 21:21 ` Kete @ 2014-01-04 22:25 ` John Darrington 2014-01-05 18:21 ` Ludovic Courtès 1 sibling, 0 replies; 29+ messages in thread From: John Darrington @ 2014-01-04 22:25 UTC (permalink / raw) To: Kete; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1521 bytes --] This is where you have to start doing some detective work and probably some patching! Based on what you pasted, it looks as if CONFIG_SHELL isn't getting passed to the mkmakemod.sh file. Probably the zsh devs have done something wierd. What I do at this stage is to build with the -K flag, then you can manually enter the build directory which guix places in /tmp/nix-build-* and start putting in diagnostics and running the build manually to find out what is going on. Sometimes it can be painful. J' On Sat, Jan 04, 2014 at 04:21:35PM -0500, Kete wrote: On Saturday, January 04, 2014 08:15:40 AM John Darrington wrote: > The example in bash.scm is over complicated. Look at some of the examples > in xorg.scm to see how to set configure-flags. That got me a little further. Src/../Src/mkmakemod.sh: line 467: /bin/sh: No such file or directory Makefile:299: recipe for target 'Makemod' failed These are the lines around 464-470: if $second_stage ; then trap "rm -f $the_subdir/${the_makefile}; exit 1" 1 2 15 ${CONFIG_SHELL-/bin/sh} ./config.status \ --file=$the_subdir/${the_makefile}:$the_subdir/${the_makefile}.in || exit 1 fi I tried with the --without-tcsetpgrp flag, but I got the same error. -- 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. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-04 21:21 ` Kete 2014-01-04 22:25 ` John Darrington @ 2014-01-05 18:21 ` Ludovic Courtès 1 sibling, 0 replies; 29+ messages in thread From: Ludovic Courtès @ 2014-01-05 18:21 UTC (permalink / raw) To: Kete; +Cc: guix-devel Kete <kete@ninthfloor.org> skribis: > On Saturday, January 04, 2014 08:15:40 AM John Darrington wrote: >> The example in bash.scm is over complicated. Look at some of the examples >> in xorg.scm to see how to set configure-flags. > > That got me a little further. > Src/../Src/mkmakemod.sh: line 467: /bin/sh: No such file or directory > Makefile:299: recipe for target 'Makemod' failed As John notes, there’s no /bin/sh in the build environment. By default, files starting with #!/bin/sh (or similar) are automatically patched to #!/nix/store/.../bin/sh. However, it could be that mkmakemod.sh explicitly invokes /bin/sh in its body, in which case it has to be patched “manually”. Try building with --keep-failed, inspect that file, and then don’t hesitate to join #guix on Freenode for more advice/debugging. ;-) Ludo’. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-04 1:10 ` Kete 2014-01-04 7:15 ` John Darrington @ 2014-01-04 11:47 ` Ludovic Courtès 2014-01-04 21:31 ` Kete 1 sibling, 1 reply; 29+ messages in thread From: Ludovic Courtès @ 2014-01-04 11:47 UTC (permalink / raw) To: Kete; +Cc: guix-devel Kete <kete@ninthfloor.org> skribis: > Thanks, that did help, but I got the following error: > checking if tcsetpgrp() actually works... notty > configure: error: no controlling tty > Try running configure with --with-tcsetpgrp or --without-tcsetpgrp Ah, that’s an issue with the ‘configure’ script of Zsh now. I’d recommend looking at how that tcsetpgrp check is implemented, to see what makes it think it doesn’t work. In particular what does ‘config.log’ report about this test? This may be due to the chroot build environment, which could be lacking something Zsh expects (see <http://www.gnu.org/software/guix/manual/guix.html#Setting-Up-the-Daemon> for details.) > I tried the first flag, but it "failed to match any pattern in form". I was > copying the bash.scm, but I'm not sure if Zsh needs the readline and texinfo > stuff. Maybe I should just attach my package definition as Nikita requested. > It's attached. Note that bash.scm is relatively complex, because Bash has a limited ‘configure’ interface; hopefully you can do something simpler here. > By the way, the license also says some of the scripts are licensed with the > GPL. The ‘license’ field should reflect the license of what gets installed. So if build-time scripts are GPL, that doesn’t matter here. But please do skim over the license headers to make sure they’re all under that X11-style license. > (define-public zsh > (let* ((configure-flags > ``("--with-tcsetpgrp")))) ‘let*’ introduces a ‘configure-flags’ local variable, but it’s not used after that. So you can remove that ‘let*’ form altogether, and instead... > (package > (name "zsh") > (version "5.0.2") > (source (origin > (method url-fetch) > (uri (string-append "ftp://ftp.zsh.org/zsh/zsh.tar.bz2")) > (sha256 > (base32 "1s2fvv0zfpi0qg9fzhiv8ac19pwbbjd0sbsbzmll3nqa8k4yfvz9")))) > (build-system gnu-build-system) ... you can add an ‘arguments’ field (info "(guix) Defining Packages"): (arguments '(#:configure-flags '("--with-tcsetpgrp"))) In the build log, search for ‘configure flags’, and you’ll notice that --with-tcsetpgrp is now passed (and I guess this should solve the problem above?) > (inputs `(("readline" ,readline) > ("ncurses" ,ncurses) > ("texinfo" ,texinfo))) My guess is that Zsh doesn’t use Readline nor Texinfo, but please check its documentation to see what’s needed. > (synopsis "Z Shell") > (description "Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. Zsh has command line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features.") Please wrap lines below 80 characters, and don’t use tabs (see “Coding Style” in the ‘HACKING’ file.) Hope this helps! Ludo’. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-04 11:47 ` Ludovic Courtès @ 2014-01-04 21:31 ` Kete 2014-01-05 17:57 ` Ludovic Courtès 0 siblings, 1 reply; 29+ messages in thread From: Kete @ 2014-01-04 21:31 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel On Saturday, January 04, 2014 12:47:06 PM Ludovic Courtès wrote: > I’d recommend looking at how that tcsetpgrp check is implemented, to see > what makes it think it doesn’t work. In particular what does > ‘config.log’ report about this test? I didn't find any mention. > The ‘license’ field should reflect the license of what gets installed. > So if build-time scripts are GPL, that doesn’t matter here. But please > do skim over the license headers to make sure they’re all under that > X11-style license. Here is what I found with grep: Completion/Unix/Command/_darcs is licensed under the GNU GPL. "zsh will be linked against libgdbm. This means the binary is covered by the GNU General Public License. This does not affect the source code." config.guess and config.sub are also GPLed. The rest default to that X11-style license. > My guess is that Zsh doesn’t use Readline nor Texinfo, but please check > its documentation to see what’s needed. You guessed correctly. It only needed ncurses. > Please wrap lines below 80 characters, and don’t use tabs (see “Coding > Style” in the ‘HACKING’ file.) I think the description is all on one line, so I don't know what happened. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Package Definition Place 2014-01-04 21:31 ` Kete @ 2014-01-05 17:57 ` Ludovic Courtès 0 siblings, 0 replies; 29+ messages in thread From: Ludovic Courtès @ 2014-01-05 17:57 UTC (permalink / raw) To: Kete; +Cc: guix-devel Kete <kete@ninthfloor.org> skribis: > On Saturday, January 04, 2014 12:47:06 PM Ludovic Courtès wrote: >> I’d recommend looking at how that tcsetpgrp check is implemented, to see >> what makes it think it doesn’t work. In particular what does >> ‘config.log’ report about this test? > > I didn't find any mention. Hmm, that’s surprising. Normally config.log contains details about failed configure tests. >> The ‘license’ field should reflect the license of what gets installed. >> So if build-time scripts are GPL, that doesn’t matter here. But please >> do skim over the license headers to make sure they’re all under that >> X11-style license. > > Here is what I found with grep: > Completion/Unix/Command/_darcs is licensed under the GNU GPL. "zsh > will be linked against libgdbm. This means the binary is covered by > the GNU General Public License. This does not affect the source > code." config.guess and config.sub are also GPLed. Does it comes with a copy of GDBM? Or is it an optional dependency? If the latter, then I guess you should add that dependency. > The rest default to that X11-style license. So you should keep that ‘x11-style’ license, with a comment above saying that, since it’s linked against GDBM, it’s GPLv3+ in practice. If it builds fine, feel free to post a patch as produced by ‘git format-patch’ (please read “Submitting Patches” in ‘HACKING’.) Thanks, Ludo’. ^ permalink raw reply [flat|nested] 29+ messages in thread
end of thread, other threads:[~2014-01-05 18:26 UTC | newest] Thread overview: 29+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-12-30 3:55 Package Definition Place Kete 2013-12-30 7:16 ` John Darrington 2013-12-31 0:37 ` Kete 2014-01-01 12:52 ` John Darrington 2014-01-01 16:05 ` Kete [not found] ` <1458111.8sUPPTkUlg@knossos> [not found] ` <20140101160917.GA13487@intra> 2014-01-01 16:32 ` Kete 2014-01-01 16:50 ` John Darrington 2014-01-01 19:13 ` Kete 2014-01-01 19:55 ` John Darrington 2014-01-01 20:38 ` Kete 2014-01-01 22:30 ` Kete 2014-01-02 2:44 ` Nikita Karetnikov 2014-01-02 2:50 ` Nikita Karetnikov 2014-01-02 10:06 ` Kete 2014-01-02 14:58 ` Nikita Karetnikov 2014-01-02 23:45 ` Kete 2014-01-03 2:28 ` Kete 2014-01-03 5:50 ` John Darrington 2014-01-03 11:37 ` Kete 2014-01-03 15:16 ` Nikita Karetnikov 2014-01-03 15:19 ` Ludovic Courtès 2014-01-04 1:10 ` Kete 2014-01-04 7:15 ` John Darrington 2014-01-04 21:21 ` Kete 2014-01-04 22:25 ` John Darrington 2014-01-05 18:21 ` Ludovic Courtès 2014-01-04 11:47 ` Ludovic Courtès 2014-01-04 21:31 ` Kete 2014-01-05 17:57 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).