Re: [PATCH 0/2] New pinentries

2016-04-28 Thread Leo Famulari
On Thu, Apr 28, 2016 at 05:49:09AM +0300, Efraim Flashner wrote:
> Assuming no-one has any objections, this is my current patch set for
> pinentry.
> 
> $ ./pre-inst-env guix package -A pinentry
> pinentry0.9.7   out gnu/packages/gnupg.scm:623:2
> pinentry-gtk2   0.9.7   out gnu/packages/gnupg.scm:600:2
> pinentry-qt 0.9.7   out gnu/packages/gnupg.scm:612:2
> pinentry-tty0.9.7   out gnu/packages/gnupg.scm:573:2

They work for me!



Re: [PATCH] Update giac-xcas to 1.2.2-41

2016-04-28 Thread Leo Famulari
On Thu, Apr 28, 2016 at 09:41:18PM -0400, Leo Famulari wrote:
> On Thu, Apr 28, 2016 at 01:46:10PM +0200, Nicolas Goaziou wrote:
> > Subject: [PATCH] gnu: giac-xcas: Update to 1.2.2-41.
> 
> Hi, thank you for paying attention to this package and submitting a
> patch!
> 
> It looks reasonable, but for some reason I can't build giac-xcas, with
> or without it :(
> 
> The tail of the build log (from commit 5ca54f41a) is attached. Does
> anyone have any ideas?

I looked at the first recently failing build on Hydra [0], and read the
changes in our codebase since the last successful build [1].

Based on what I read there, I'm testing the build without the latest
change to fltk.

[0]
http://hydra.gnu.org/build/1152141

[1]
http://git.savannah.gnu.org/cgit/guix.git/diff/?id=3fd4b90d1dee4547df16e1469e8dcefce1ac4f36=08fbfa8d21674738cf043bf4cc6fba1a91fc3162



Re: [PATCH] Update giac-xcas to 1.2.2-41

2016-04-28 Thread Leo Famulari
On Thu, Apr 28, 2016 at 01:46:10PM +0200, Nicolas Goaziou wrote:
> Subject: [PATCH] gnu: giac-xcas: Update to 1.2.2-41.

Hi, thank you for paying attention to this package and submitting a
patch!

It looks reasonable, but for some reason I can't build giac-xcas, with
or without it :(

The tail of the build log (from commit 5ca54f41a) is attached. Does
anyone have any ideas?
libtool: link: g++ -g -O2 -fno-strict-aliasing -DGIAC_GENERIC_CONSTANTS -o 
.libs/xcas xcas.o  ./.libs/libxcas.a 
/tmp/guix-build-giac-xcas-1.2.2-37.drv-0/giac-1.2.2/src/.libs/libgiac.so 
/gnu/store/5shfx5j4qb9p2h5vp8bwk2ma64ljqzvh-ntl-9.7.0/lib/libntl.so -lpari 
-lfltk_images 
/gnu/store/4zlba0g9sw8p1gbf644fyi34z1xj4jwz-libjpeg-9a/lib/libjpeg.so -lfltk 
/gnu/store/5mvvb03yi30ghq5yi17pc787ywja7d2x-libxft-2.3.2/lib/libXft.so 
/gnu/store/i3zpc6rhc6mdn0wwf4sw8x1apdj1vlcf-libxrender-0.9.9/lib/libXrender.so 
/gnu/store/7p4kg3vvqlljr62jvwybrpqfvk0qvw1x-fontconfig-2.11.94/lib/libfontconfig.so
 /gnu/store/m5900g5lawpgf4k9dgji1h30r7pw6qak-freetype-2.6/lib/libfreetype.so 
-lbz2 /gnu/store/q99acjwx5haj54gcj0l9pv6bbh7pdgv9-mesa-11.0.9/lib/libGL.so 
/gnu/store/w7vb2skc8q5wjcfbya0qba7nj83pl6z4-expat-2.1.0/lib/libexpat.so 
/gnu/store/q99acjwx5haj54gcj0l9pv6bbh7pdgv9-mesa-11.0.9/lib/libglapi.so 
/gnu/store/10nc4lbgwiamyzxbmf7cwbmd22i8szfc-libxdamage-1.1.4/lib/libXdamage.so 
/gnu/store/1f4scnx8k150fyx8ann14xm8g1adqddh-libxfixes-5.0.1/lib/libXfixes.so 
/gnu/store/xqzmjw2b2j5i9pmkjmnjp3dm7hdiqln0-libx11-1.6.3/lib/libX11-xcb.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-glx.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-dri2.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-dri3.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-present.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-randr.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-xfixes.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-render.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-shape.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb-sync.so 
/gnu/store/z64dm0pw8gj6sz9h2qg28k39j0lk1phg-libxshmfence-1.2/lib/libxshmfence.so
 /gnu/store/9bmqi2blbiwzcvygpks1aajn6h9nwdj1-libxxf86vm-1.1.4/lib/libXxf86vm.so 
/gnu/store/krnzsddzfbk1kdv0al2q7g7rnpw4k85j-libxext-1.3.3/lib/libXext.so 
/gnu/store/xqzmjw2b2j5i9pmkjmnjp3dm7hdiqln0-libx11-1.6.3/lib/libX11.so 
/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb.so 
/gnu/store/c56bqxg9clybrmsgj0nk1z5n425cgfas-libxau-1.0.8/lib/libXau.so 
/gnu/store/zhrhrs1myalxjppwjyn2971l6gld22rp-libxdmcp-1.1.2/lib/libXdmcp.so 
/gnu/store/rhms73ac93maz7gxf8s00l9aj7ikwlx7-libdrm-2.4.65/lib/libdrm.so 
/gnu/store/v39bh3ln3ncnzhyw0kd12d46kww9747v-gcc-4.9.3-lib/lib/libstdc++.so 
/gnu/store/66y0xqwjn86wi8qcck6ph9819dc7nqk4-gsl-2.1/lib/libgsl.so 
/gnu/store/66y0xqwjn86wi8qcck6ph9819dc7nqk4-gsl-2.1/lib/libgslcblas.so -lrt 
/gnu/store/arqab9hriq5j401c7a3m4rxkr1nnli03-ao-1.2.0/lib/libao.so -lpthread 
-llapack -lblas -ldl 
/gnu/store/pmqssiwi3sdpgyxfiyv9g5w1dmhzg662-libpng-1.5.26/lib/libpng15.so -lz 
-lm /gnu/store/3d3lm1acbzavh6mfb3kdli0cg6i86mzd-mpfi-1.5.1/lib/libmpfi.so 
/gnu/store/5vrfmnmlsaz2v7rcr7p5qabx7l6xkkvr-mpfr-3.1.3/lib/libmpfr.so 
/gnu/store/jm4pd6hvgpclkxw2jgxnjl0s77grcwnr-gmp-6.1.0/lib/libgmp.so -pthread 
-Wl,-rpath 
-Wl,/gnu/store/bwnapjp50ijvb1lca6cjibw5f23w4lnp-giac-xcas-1.2.2-37/lib 
-Wl,-rpath -Wl,/gnu/store/5shfx5j4qb9p2h5vp8bwk2ma64ljqzvh-ntl-9.7.0/lib 
-Wl,-rpath -Wl,/gnu/store/v39bh3ln3ncnzhyw0kd12d46kww9747v-gcc-4.9.3-lib/lib 
-Wl,-rpath -Wl,/gnu/store/4zlba0g9sw8p1gbf644fyi34z1xj4jwz-libjpeg-9a/lib 
-Wl,-rpath -Wl,/gnu/store/5mvvb03yi30ghq5yi17pc787ywja7d2x-libxft-2.3.2/lib 
-Wl,-rpath -Wl,/gnu/store/i3zpc6rhc6mdn0wwf4sw8x1apdj1vlcf-libxrender-0.9.9/lib 
-Wl,-rpath 
-Wl,/gnu/store/7p4kg3vvqlljr62jvwybrpqfvk0qvw1x-fontconfig-2.11.94/lib 
-Wl,-rpath -Wl,/gnu/store/m5900g5lawpgf4k9dgji1h30r7pw6qak-freetype-2.6/lib 
-Wl,-rpath -Wl,/gnu/store/q99acjwx5haj54gcj0l9pv6bbh7pdgv9-mesa-11.0.9/lib 
-Wl,-rpath -Wl,/gnu/store/w7vb2skc8q5wjcfbya0qba7nj83pl6z4-expat-2.1.0/lib 
-Wl,-rpath -Wl,/gnu/store/10nc4lbgwiamyzxbmf7cwbmd22i8szfc-libxdamage-1.1.4/lib 
-Wl,-rpath -Wl,/gnu/store/1f4scnx8k150fyx8ann14xm8g1adqddh-libxfixes-5.0.1/lib 
-Wl,-rpath -Wl,/gnu/store/xqzmjw2b2j5i9pmkjmnjp3dm7hdiqln0-libx11-1.6.3/lib 
-Wl,-rpath -Wl,/gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib 
-Wl,-rpath -Wl,/gnu/store/z64dm0pw8gj6sz9h2qg28k39j0lk1phg-libxshmfence-1.2/lib 
-Wl,-rpath -Wl,/gnu/store/9bmqi2blbiwzcvygpks1aajn6h9nwdj1-libxxf86vm-1.1.4/lib 
-Wl,-rpath -Wl,/gnu/store/krnzsddzfbk1kdv0al2q7g7rnpw4k85j-libxext-1.3.3/lib 
-Wl,-rpath -Wl,/gnu/store/c56bqxg9clybrmsgj0nk1z5n425cgfas-libxau-1.0.8/lib 
-Wl,-rpath -Wl,/gnu/store/zhrhrs1myalxjppwjyn2971l6gld22rp-libxdmcp-1.1.2/lib 
-Wl,-rpath -Wl,/gnu/store/rhms73ac93maz7gxf8s00l9aj7ikwlx7-libdrm-2.4.65/lib 
-Wl,-rpath 

volunteer needed to pickup my rust(.scm)

2016-04-28 Thread ng0
Appended / Inlined is the almost complete rust.
I'm currently not in the position to finish my work on this, but
I feel like this could be published soon.
So if anyone wants to pick up my work, be my guest.

It is not complete in syntax and style. It's also not good as it
may contain unnecessary modules and comments.
As you can find in IRC logs, you will need to create a patch from
https://github.com/rust-lang/rust/pull/32168/files , this is what
enables us and NixOS to build rust.
Description needs to be filled in.

LIke I said, I can't work on this in the next time, but it is
almost complete. I also won't be able to do the last fixes it
needs due to time shared between projects.


gnu/packages/rust.scm :

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Nils Gillmann 
;;;
;;; 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 .

(define-module (gnu packages rust)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  ;; #:use-module (gnu packages gcc)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages libffi)
  #:use-module (gnu packages valgrind)
  #:use-module (gnu packages version-control)
  #:use-module (gnu packages curl)
  #:use-module (gnu packages python)
  #:use-module (gnu packages llvm))

;;(list
;; (string-append
;; "https://github.com/rust-lang/rust/archive/;
;; version ".tar.gz")
;;gh "1m2d1dc243s7ym8fq2yag3fr5jvki0q9c39llfwgcpq1gc8jvcn8"

;; -> take/recreate patch from 
https://github.com/rust-lang/rust/pull/32168/files

;;(define-public rustc
(define-public rust
  (package
;;(name "rustc")
(name "rust")
(version "1.8.0")
(source (origin
  (method url-fetch)
  (uri (string-append
;;"https://static.rust-lang.org/dist/; name "-"
;;version "-src.tar.gz"))
"https://github.com/rust-lang/; name "/archive/"
version ".tar.gz"))
  (file-name (string-append name "-" version ".tar.gz"))
  (sha256
   (base32
;;"0jblby81qlbz4csdldsv7hqrcbfwsaa79q265bgb8kcdgqa6ci5g"
"1p45ik0mr818ywy5gpxi68h6md9ndmcpw7g4rx7l6frvfn5xd4sy"
(build-system gnu-build-system)
(arguments
 `(#:phases
   ;; XXX: commit a3fdde7
   ;;#:configure-flags "--disable-codegen-tests"
   (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
  ;; This old `configure' script doesn't support
  ;; variables passed as arguments.
  (let ((out (assoc-ref outputs "out"))
(llvm (assoc-ref %build-inputs "llvm")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
 (system* "./configure"
  "--disable-codegen-tests"
  (string-append "--prefix=" out)
  (string-append "--llvm-root=" llvm)
%standard-phases)))
   ;; #:configure-flags
   ;; (list
   ;;  (string-append "--llvm-root="
   ;; (assoc-ref %build-inputs "llvm")
(inputs
 `(("python-2" ,python-2)
   ("curl" ,curl)
   ("git" ,git)
   ("valgrind" ,valgrind)
   ("libffi" ,libffi)
   ("perl" ,perl)
   ("llvm" ,llvm)))
(home-page "https://www.rust-lang.org/;)
(synopsis
 "The Rust Programming Language")
(description
 "LOREM IPSUM BLA")
(license license:gpl3+)))

-- 
♥Ⓐ ng0



Re: [PATCH v6 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.

2016-04-28 Thread Jan Nieuwenhuizen
Jan Nieuwenhuizen writes:

>* any change made to cross-gcc / cross-libc triggers a rebuild of
>  both worlds

this is not true, as Manolis pointed out on irc; I'm probably mistaking
changes to ncurses or somesuch.

> Because Guix uses pseudo cross-compilation in the bootstrap process
> @ref{Bootstrapping}, changes to @var{cross-gcc} may rebuild our native
> world

also, not true; forget this bit.  Sorry ;-)

Greetings,
Jan.

-- 
Jan Nieuwenhuizen  | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  



Re: [PATCH v6 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.

2016-04-28 Thread Jan Nieuwenhuizen
Andy Wingo writes:

Hi!

[Manolis: I've written a bit about the cross setup below, do you want
 to have a look?]

> Mostly formatting nits, only a couple substantial comments.  Looking
> great.

Oh that's super, thanks for all your help!

It seems I have picked-up the convention of doing

   (if condition 
   ))

now that I think of it, could be lispy with optionally longer else
branch.  I have wondered why scheme/guile does not have that.  Possibly
it's an artifact of more imperative days?

>> + (if libc
>> + (setenv "CROSS_LIBRARY_PATH"
>> + (string-append
>> +  libc "/lib"
>> +  ":" libc "/i686-w64-mingw32/lib")))
>
> Use "when" please

Yes, done.

>> +(define (native-libc target)
>> +  (if (mingw-target? target) mingw-w64
>> +  glibc))
>
> The if should be either all on one line, or on three lines

Changed to three lines; I expect this to get longer in time.

>> Subject: [PATCH 07/10] gnu: ncurses: support mingw.
>> +  (cond ((mingw-target? target)
>> +  (with-directory-excursion (string-append out "/bin")
>> +(for-each
>> + (lambda (lib)
>
> Because the consequent is so large, please indent the condition on the
> line after "cond", i.e.
>
>   (cond
>((mingw-target? target)
> ...))

Ok.

>
>> +++ b/gnu/packages/patches/readline-6.3-mingw.patch
>> @@ -0,0 +1,128 @@
>> +Mingw lacks some SIG*.  Taken from
>> +
>> + wget
>> https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-readline/readline-6.3-mingw.patch
>> +
>> +some updates to make it apply.
>> +
>> +Upstream status: Not presented to upstream.
>
> Probably needs to go upstream I think, and we should clarify the
> licensing on it or rewrite it.

Yes.  I have sent the owner of the github archive a mail for
clarification.

>> +,(if (mingw-target?) "/bin"
>> + "/lib"))
>
> One line or three lines please

Sure, one line.

>> Subject: [PATCH 10/10] gnu: guile-2.0: support mingw.
>> +,@(if (mingw-target?)
>> +  `(("bash" ,bash)
>> +("guile" ,guile-2.0))
>> +  '(
>
> Would we not need Guile always when cross-compiling?

Hmm.  I'm adding bash here and removing it below for mingw; which makes
some sense.  Guile should be included via self-native-input? -- ah, I
prolly unset self-native-input? while experimenting with a cross-guile
package and /there/ I needed this.  Retried without guile, removed,
changed to one line.

>> + ,@(if (mingw-target?) '()
>> +   `(("bash" ,bash)
>
> One line please.

Ok.

>> @@ -167,7 +172,11 @@ without requiring the source code to be rewritten.")
>>(let ((bash (assoc-ref inputs "bash")))
>>  (substitute* "module/ice-9/popen.scm"
>>(("/bin/sh")
>> -   (string-append bash "/bin/bash")
>> +   ,(if (mingw-target?)
>> +"cmd.exe"
>> +`(if bash
>> + (string-append bash "/bin/bash")
>> + "bash"))
>>  %standard-phases)))
>
> I guess the thing is, cmd.exe is part of the system, so it should be
> linked "dynamically" (i.e. via the PATH); but is cmd.exe really a bash
> replacement?  Is this the right way for open-pipe in Guile to work?

Good question.  I don't really know.  Probably it's not; but then, even
if we have bash would't you expect some utils like cat/grep/sed?  FWIW,
I spent two nights trying to port bash before I decided to give up, err
re-prioritise.  I'd love to provide that all, and I'd also love to get
some help with that ;-)

I can imagine that if I somehow installed a version of bash.exe
(msys/cygwin) in PATH, I would expect open-pipe to use that rather than
cmd.

I'm not sure if you have a suggestion for change here, or if we should
get more input first?

> Finally at the very end of all of this I think it would be great to have
> some kind of document, "how to compile software for windows using
> Guix".   WDYT?  That document could include any relevant details about
> the internal structure of a cross-compile -- how Guix links things
> together.  I know that for me, this information is vey easily paged
> out to long-term storage; takes a while to pull it back in :)

I think that's a good idea.  I spent quite some time figuring-out how
things work in Guix.  Most is just great; the biggest problems I
encountered were

   * any change made to cross-gcc / cross-libc triggers a rebuild of
 both worlds

and most changes I made were small, wrong and terribly difficult to
inspect.  I tried to work around that creating separate 

Re: Proposal: Prefix language-name for language library packages

2016-04-28 Thread Leo Famulari
On Thu, Apr 28, 2016 at 01:56:15PM +0200, Ludovic Courtès wrote:
> Hartmut Goebel  skribis:
> 
> > I propose to generalizing the specification [1,2] as we already have for
> > Perl, Python and Java for most programming languages. In short:
> >
> > Package names should be prefixed with the name of the language and if
> > the package name already contains the name of the language, it gets
> > removed there.
> >
> > I quickly scanned the current package definitions and found:
> >
> > guile: 2 package to change
> > haskell: ca. 2 package to be changed
> > julia: 0
> > d (lcd.xscm): 0
> > nqc (lego.scm): 0 --> prefix "lego-"? OTOH this is a commercial brand
> > lua: 0
> > m4: 0
> > ocaml: 1
> > ruby: 0
> > r (statistics.scm): 0
> > scheme: 1 or 2
> 
> What do you mean by “scheme”?  Scheme packages are usually not
> interchangeable among Scheme implementations, so we’d have
> guile != racket != MIT Scheme, etc.
> 
> > smalltalk: 0
> > tcl: 0
> 
> I’m all for it, especially given that this is pretty much the status
> quo.  :-)
> 
> So, patches welcome for the 5-or-so packages above.
> 
> A common exception to the rule is packages that offer a CLI/GUI that is
> a common entry point to the package–e.g., Guix, Unison, patches, Pius,
> Xmonad, Awesome.  IOW, the rule would apply to libraries only.

Yes, it makes sense for libraries that are "tied" to their language. Of
course:

> There may be other cases where it’d be useful to make exceptions.



Re: [PATCH] gnu: Add Red Eclipse.

2016-04-28 Thread Alex Kost
Ludovic Courtès (2016-04-27 15:14 +0300) wrote:

>>> +   "Red Eclipse is an open-source arena shooter, created from the Cube2
>
> s/open-source//

Oops, I didn't notice this, thanks!

>>> +  ;; License information available in detail at the following link:
>>> +  ;; http://redeclipse.net/wiki/License
>>> +  (license (list license:expat
>>> + license:zlib
>>> + license:cc-by-sa3.0
>>> + license:cc-by3.0
>>> + license:cc0)
>
> Would be worth mentioning that it’s a combination of all these licenses,
> IIUC.
>
> Looks like we’re there modulo this and the minor indentation issue?
>
> Would you like to apply it with these changes, Alex?

Adjusted and applied.  Thanks again, Kei!

I forgot to mention that if a build phase succeeds, it should return #t
(although anything but #f also works), so I added #t to the ends of
the phases.

-- 
Alex



Re: Call for screencasts!

2016-04-28 Thread John Darrington
On Sun, Apr 17, 2016 at 05:49:08PM +0200, Ludovic Court??s wrote:
 
 It???s Sunday and you???re probably wondering what you could to help this
 wonderful project.  Here???s an idea: make a screencast!  :-)
 
 I???d like a video of at most 5 minutes to put on the home page that would
 showcase, for example (with explanations in English; bonus points if you
 have a good mic and are a native speaker ;-)):

Doing decent video presentations requires a diverse range of skills. 

I think that rather than simply appealing to individuals to create such a thing,
a better approach is to organise a small team to do it as a collective effort.

It just needs someone to put such a team together and coordinate it.  Now that 
Guix is an official, legally sanctioned organisation they should be able
to do that!

J'


-- 
Avoid eavesdropping.  Send strong encryted email.
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: [PATCH] gnu: procps: Make procps build on non Linux systems.

2016-04-28 Thread Ludovic Courtès
Manolis Ragkousis  skribis:

> From 00c2d2ec11a75e3d74704150488e73ee7c8c6fe8 Mon Sep 17 00:00:00 2001
> From: Manolis Ragkousis 
> Date: Wed, 27 Apr 2016 23:33:56 +0300
> Subject: [PATCH] gnu: procps: Make procps build on non Linux systems.
>
> * gnu/packages/patches/procps-non-linux.patch.patch: New patch.
> * gnu/packages/linux.scm (procps)[source]: Use it.
> * gnu/local.mk (dist_patch_DATA): Add it.

[...]

> --- /dev/null
> +++ b/gnu/packages/patches/procps-non-linux.patch

Please add a couple of lines saying what it does and what its upstream
status is.

OK for ‘core-updates’ with this change!

Then I second John’s comment: you should propose the change upstream.
They might do it differently (by checking for the header and function at
configure time, typically), but I guess there’s no reason why they would
refuse it.

Thank you!

Ludo’.



Re: Patch tracking

2016-04-28 Thread Ludovic Courtès
Ben Woodcroft  skribis:

> On 28/04/16 18:24, Ludovic Courtès wrote:
>> l...@gnu.org (Ludovic Courtès) skribis:
>>
>>> As an experiment (it may disappear anytime), I generated the
>>> ‘patches.json’ file for “patches”, so you can now run:
>>>
>>>guix package -i patches
>>>patches fetch https://mirror.hydra.gnu.org/patches/patches.json
>>>patches list status:committed
>> Please try!  :-)
>
> I quite like the concept and it was easy to get started, but I didn't
> have a lot of success applying patches - I tried one from Rob, Ricardo
> and Manolis. Rob's patch was malformed, while Ricardo's and Manolis'
> was empty.
>
> e.g.
>
> $ patches apply id:87h9emxnk5@elephly.net
> Patch is empty. Was it split wrong?
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
>
> I'm running that version of patches that you just pushed Ludo. Have
> you had a similar experience?

Yeah, I think the tool assumes that patches appear right in the message
body, as with ‘git send-email’, but some of us send patches as
attachments (I know Ricardo does).

If we choose to use the tool, we may have to bend our practices a little
bit to placate it.

Thanks for trying it out!

Ludo’.



Re: Call for screencasts!

2016-04-28 Thread Ludovic Courtès
Alex Kost  skribis:

> Here is my attempt (50 seconds video).  I think it is not worthy to
> appear on the home page, but perhaps it will be interesting for someone.
>
> https://goblinrefuge.com/mediagoblin/u/alezost/m/emacs-interface-for-guix/
>
> Direct link:
> https://b2aeaa58a57a200320db-8b65b95250e902c437b256b5abf3eac7.ssl.cf5.rackcdn.com/media_entries/8851/2016-04-28_105834.webm
>
> It shows a couple of recently added features related to licenses and
> locations.

I find it pretty cool and worth showing on the /help page at least!

Mark, do you think you could upload it to audio-video.gnu.org?

Thanks, Alex!

Ludo’.



Re: [PATCH] guix: use '@' in package-full-name instead of '-'

2016-04-28 Thread Ludovic Courtès
Mathieu Lirzin  skribis:

> Cyril Roelandt  writes:
>
>> * guix/packages.scm (package-full-name): Use '@' instead of '-'.
>> ---
>>  guix/packages.scm | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/guix/packages.scm b/guix/packages.scm
>> index d62d1f3..e33791e 100644
>> --- a/guix/packages.scm
>> +++ b/guix/packages.scm
>> @@ -346,7 +346,7 @@ name of its URI."
>>  
>>  (define (package-full-name package)
>>"Return the full name of PACKAGE--i.e., `NAME-VERSION'."
>> -  (string-append (package-name package) "-" (package-version package)))
>> +  (string-append (package-name package) "@" (package-version package)))
>>  
>>  (define (%standard-patch-inputs)
>>(let* ((canonical (module-ref (resolve-interface '(gnu packages base))
>
> Unfortunately, changing this is not as simple.
>
> When implementing the '-' to '@' thing, I have proposed to switch
> ‘package-full-name’.  While I still think it would make sense for it to
> use '@', it would require a full rebuild of every package + extra care.

No no, no full rebuild, only extra care.  :-)

> For example among other things the tests will not be happy for ‘guix
> graph‘ IIRC, and the Guix website uses it to access Hydra links.

Right, there are a few places that sorta expect a hyphen; the thing that
generates  is the only one that comes to
mind, though.

When discussing the patch series for the @ syntax, we discussed at one
point making the delimiter of ‘package-full-name’ an optional parameter
that would default to @.  It appears in the patch at:

  https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00873.html

I’m not sure why we dropped it, but we should try to reinstate it.

Cyril, can you make the delimiter an optional argument and see whether
‘make check’ passes?

Thanks!

Ludo’.



Re: [PATCH] gnu: Add Xft support to FLTK.

2016-04-28 Thread Ludovic Courtès
iyzs...@member.fsf.org (宋文武) skribis:

> Kei Yamashita  writes:
>
>> On Wed, 27 Apr 2016 14:52:36 +0200
>> l...@gnu.org (Ludovic Courtès) wrote:
>>
>>> Kei Yamashita  skribis:
>>> 
>>> > This patch is in preparation for the Dillo browser package.
>>> >
>>> > From 7755ae6d7afd46daed5fac1e626d1785b9875975 Mon Sep 17 00:00:00
>>> > 2001 From: Kei Yamashita 
>>> > Date: Sat, 16 Apr 2016 22:45:21 -0400
>>> > Subject: [PATCH] gnu: Add Xft support to FLTK.
>>> >
>>> > * gnu/packages/fltk.scm (fltk)[inputs]: Add libxft.  
>>> 
>>> This appears to break Octave (see
>>> ):
>>> 
>>> --8<---cut here---start->8---
>>> ../run-octave  --norc --silent --no-history ./fntests.m .
>>> error:
>>> /tmp/guix-build-octave-4.0.0.drv-0/octave-4.0.0/libinterp/dldfcn/PKG_ADD:
>>> /tmp/guix-build-octave-4.0.0.drv-0/octave-4.0.0/libinterp/dldfcn/__init_fltk__.oct:
>>> failed to
>>> load: 
>>> /gnu/store/nfi0na44lk0fy0m6bpsa7q458wpyd5w5-fltk-1.3.3/lib/libfltk_gl.so.1.3:
>>> undefined symbol: _ZN18Fl_XFont_On_Demand5valueEv
>>> --8<---cut here---end--->8---
>>> 
>>> The undefined symbol (demangled: ‘Fl_XFont_On_Demand::value’) is
>>> defined in Fltk’s ‘fl_font_xft.cxx’.  However, looking at the build
>>> log of Fltk, this file is apparently not compiled, which sounds like
>>> a bug in Fltk’s build system.
>
> Fixed (octave) in commit 6fdc73e by apply patch from:
>
> .

Thanks!

Ludo’.



Re: Proposal: Prefix language-name for language library packages

2016-04-28 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> I propose to generalizing the specification [1,2] as we already have for
> Perl, Python and Java for most programming languages. In short:
>
> Package names should be prefixed with the name of the language and if
> the package name already contains the name of the language, it gets
> removed there.
>
> I quickly scanned the current package definitions and found:
>
> guile: 2 package to change
> haskell: ca. 2 package to be changed
> julia: 0
> d (lcd.xscm): 0
> nqc (lego.scm): 0 --> prefix "lego-"? OTOH this is a commercial brand
> lua: 0
> m4: 0
> ocaml: 1
> ruby: 0
> r (statistics.scm): 0
> scheme: 1 or 2

What do you mean by “scheme”?  Scheme packages are usually not
interchangeable among Scheme implementations, so we’d have
guile != racket != MIT Scheme, etc.

> smalltalk: 0
> tcl: 0

I’m all for it, especially given that this is pretty much the status
quo.  :-)

So, patches welcome for the 5-or-so packages above.

A common exception to the rule is packages that offer a CLI/GUI that is
a common entry point to the package–e.g., Guix, Unison, patches, Pius,
Xmonad, Awesome.  IOW, the rule would apply to libraries only.

There may be other cases where it’d be useful to make exceptions.

Thoughts?

Ludo’.



Re: Proposal: Prefix language-name for language library packages

2016-04-28 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Sun, Apr 24, 2016 at 03:22:03PM +0200, Hartmut Goebel wrote:
>> Hi,
>> 
>> I propose to generalizing the specification [1,2] as we already have for
>> Perl, Python and Java for most programming languages. In short:
>> 
>> Package names should be prefixed with the name of the language and if
>> the package name already contains the name of the language, it gets
>> removed there.
>> 
>> I quickly scanned the current package definitions and found:
>> 
>> guile: 2 package to change
>> haskell: ca. 2 package to be changed
>> julia: 0
>> d (lcd.xscm): 0
>> nqc (lego.scm): 0 --> prefix "lego-"? OTOH this is a commercial brand
>> lua: 0
>> m4: 0
>> ocaml: 1
>> ruby: 0
>> r (statistics.scm): 0
>> scheme: 1 or 2
>> smalltalk: 0
>> tcl: 0
>
> What about C? Do we need c-linux-libre? ;)

Furthermore, what about multiple-language packages?  I’m thinking of
‘c+guile-guile’ and ‘c+siod+python-gimp’.

;-)

Ludo’.



[PATCH] Update giac-xcas to 1.2.2-41

2016-04-28 Thread Nicolas Goaziou
Hello,

Here follows a minor update to giac-xcas. Thank you for considering it
for inclusion.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From 11291cce0e4c79be708992cdf4f3e3263237c519 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou 
Date: Thu, 28 Apr 2016 13:35:20 +0200
Subject: [PATCH] gnu: giac-xcas: Update to 1.2.2-41.

* gnu/packages/algebra.scm (giac-xcas): Update to 1.2.2-41.
[input]: Add libxinerama.
---
 gnu/packages/algebra.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 5b00493..e202130 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -201,7 +201,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
 (define-public giac-xcas
   (package
 (name "giac-xcas")
-(version "1.2.2-37")
+(version "1.2.2-41")
 (source (origin
   (method url-fetch)
   ;; "~parisse/giac" is not used because the maintainer regularly
@@ -213,7 +213,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
   "source/giac_" version ".tar.gz"))
   (sha256
(base32
-"0cagh9nnaz7ks299b2bs3lrdclv4xbyis24zc8vf3i25p470bxsf"
+"061a0p5l1qlb9iqk7n7yznhv2f3hvll1hrzjbhn81bf31f2wj6sq"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
@@ -240,6 +240,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libx11" ,libx11)
+   ("libxinerama" ,libxinerama)
("libxft" ,libxft)
("libxt" ,libxt)
("mesa" ,mesa)
-- 
2.7.4



Re: Patch tracking

2016-04-28 Thread Ben Woodcroft



On 28/04/16 18:24, Ludovic Courtès wrote:

l...@gnu.org (Ludovic Courtès) skribis:


As an experiment (it may disappear anytime), I generated the
‘patches.json’ file for “patches”, so you can now run:

   guix package -i patches
   patches fetch https://mirror.hydra.gnu.org/patches/patches.json
   patches list status:committed

Please try!  :-)


I quite like the concept and it was easy to get started, but I didn't 
have a lot of success applying patches - I tried one from Rob, Ricardo 
and Manolis. Rob's patch was malformed, while Ricardo's and Manolis' was 
empty.


e.g.

$ patches apply id:87h9emxnk5@elephly.net
Patch is empty. Was it split wrong?
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

I'm running that version of patches that you just pushed Ludo. Have you 
had a similar experience?


ben



Re: [PATCH] gnu: procps: Make procps build on non Linux systems.

2016-04-28 Thread John Darrington
Can upstream be persauded to apply it?
J'
On Thu, Apr 28, 2016 at 11:30:09AM +0300, Manolis Ragkousis wrote:
 With this patch procps can be built on the Hurd.
 
 Manolis

 From 00c2d2ec11a75e3d74704150488e73ee7c8c6fe8 Mon Sep 17 00:00:00 2001
 From: Manolis Ragkousis 
 Date: Wed, 27 Apr 2016 23:33:56 +0300
 Subject: [PATCH] gnu: procps: Make procps build on non Linux systems.
 
 * gnu/packages/patches/procps-non-linux.patch.patch: New patch.
 * gnu/packages/linux.scm (procps)[source]: Use it.
 * gnu/local.mk (dist_patch_DATA): Add it.
 ---
  gnu/local.mk|  1 +
  gnu/packages/linux.scm  |  4 +++-
  gnu/packages/patches/procps-non-linux.patch | 23 +++
  3 files changed, 27 insertions(+), 1 deletion(-)
  create mode 100644 gnu/packages/patches/procps-non-linux.patch
 
 diff --git a/gnu/local.mk b/gnu/local.mk
 index 80017ea..036e649 100644
 --- a/gnu/local.mk
 +++ b/gnu/local.mk
 @@ -673,6 +673,7 @@ dist_patch_DATA =  
\
gnu/packages/patches/polkit-drop-test.patch \
gnu/packages/patches/portaudio-audacity-compat.patch\
gnu/packages/patches/procmail-ambiguous-getline-debian.patch  \
 +  gnu/packages/patches/procps-non-linux.patch \
gnu/packages/patches/pt-scotch-build-parallelism.patch  \
gnu/packages/patches/pulseaudio-fix-mult-test.patch \
gnu/packages/patches/pulseaudio-longer-test-timeout.patch   \
 diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
 index a26e641..f3c04cd 100644
 --- a/gnu/packages/linux.scm
 +++ b/gnu/packages/linux.scm
 @@ -523,7 +523,9 @@ block devices, UUIDs, TTYs, and many other tools.")
"procps-ng-" version ".tar.xz"))
(sha256
 (base32
 -"1va4n0mpsq327ca9dqp4hnrpgs6821rp0f2m0jyc1bfjl9lk2jg9"
 +"1va4n0mpsq327ca9dqp4hnrpgs6821rp0f2m0jyc1bfjl9lk2jg9"))
 +  (patches
 +   (list (search-patch "procps-non-linux.patch")
  (build-system gnu-build-system)
  (arguments
   '(#:modules ((guix build utils)
 diff --git a/gnu/packages/patches/procps-non-linux.patch 
b/gnu/packages/patches/procps-non-linux.patch
 new file mode 100644
 index 000..dd21c82
 --- /dev/null
 +++ b/gnu/packages/patches/procps-non-linux.patch
 @@ -0,0 +1,23 @@
 +--- a/lib/test_process.c
  b/lib/test_process.c
 +@@ -21,7 +21,9 @@
 + #include 
 + #include 
 + #include 
 ++#ifdef __linux__
 + #include 
 ++#endif
 + #include "c.h"
 + 
 + #define DEFAULT_SLEEPTIME 300
 +@@ -78,8 +80,10 @@
 + sigaction(SIGUSR1, _action, NULL);
 + sigaction(SIGUSR2, _action, NULL);
 + 
 ++#ifdef __linux__
 + /* set process name */
 + prctl(PR_SET_NAME, MY_NAME, NULL, NULL, NULL);
 ++#endif
 + 
 + while (sleep_time > 0) {
 +  sleep_time = sleep(sleep_time);
 \ No newline at end of file
 -- 
 2.8.0
 


-- 
Avoid eavesdropping.  Send strong encryted email.
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: Call for screencasts!

2016-04-28 Thread Alex Sassmannshausen
Hi Alex,

Alex Kost writes:

> Ludovic Courtès (2016-04-17 18:49 +0300) wrote:
>
>> Hello!
>>
>> It’s Sunday and you’re probably wondering what you could to help this
>> wonderful project.  Here’s an idea: make a screencast!  :-)
>>
>> I’d like a video of at most 5 minutes to put on the home page that would
>> showcase, for example (with explanations in English; bonus points if you
>> have a good mic and are a native speaker ;-)):
>>
>>   1. The usual ‘guix package’ commands;
>>   2. the Emacs interface, briefly (like the generation diff);
>
> Here is my attempt (50 seconds video).  I think it is not worthy to
> appear on the home page, but perhaps it will be interesting for someone.
>
> https://goblinrefuge.com/mediagoblin/u/alezost/m/emacs-interface-for-guix/
>
> Direct link:
> https://b2aeaa58a57a200320db-8b65b95250e902c437b256b5abf3eac7.ssl.cf5.rackcdn.com/media_entries/8851/2016-04-28_105834.webm
>
> It shows a couple of recently added features related to licenses and
> locations.

It is really interesting to see these individual features highlighted!
Thanks for sharing!

Alex



Re: [PATCH] guix: use '@' in package-full-name instead of '-'

2016-04-28 Thread Alex Kost
Cyril Roelandt (2016-04-28 05:25 +0300) wrote:

> * guix/packages.scm (package-full-name): Use '@' instead of '-'.
> ---
>  guix/packages.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
>
> diff --git a/guix/packages.scm b/guix/packages.scm
> index d62d1f3..e33791e 100644
> --- a/guix/packages.scm
> +++ b/guix/packages.scm
> @@ -346,7 +346,7 @@ name of its URI."
>  
>  (define (package-full-name package)
>"Return the full name of PACKAGE--i.e., `NAME-VERSION'."
> -  (string-append (package-name package) "-" (package-version package)))
> +  (string-append (package-name package) "@" (package-version package)))
>  
>  (define (%standard-patch-inputs)
>(let* ((canonical (module-ref (resolve-interface '(gnu packages base))

I recall it was intentionally left untouched.  I don't remember details
but search for 'package-full-name' here:
http://lists.gnu.org/archive/html/guix-devel/2016-01/msg00910.html

Mathieu or Ludovic should know better.

-- 
Alex



Re: Call for screencasts!

2016-04-28 Thread Alex Kost
Ludovic Courtès (2016-04-17 18:49 +0300) wrote:

> Hello!
>
> It’s Sunday and you’re probably wondering what you could to help this
> wonderful project.  Here’s an idea: make a screencast!  :-)
>
> I’d like a video of at most 5 minutes to put on the home page that would
> showcase, for example (with explanations in English; bonus points if you
> have a good mic and are a native speaker ;-)):
>
>   1. The usual ‘guix package’ commands;
>   2. the Emacs interface, briefly (like the generation diff);

Here is my attempt (50 seconds video).  I think it is not worthy to
appear on the home page, but perhaps it will be interesting for someone.

https://goblinrefuge.com/mediagoblin/u/alezost/m/emacs-interface-for-guix/

Direct link:
https://b2aeaa58a57a200320db-8b65b95250e902c437b256b5abf3eac7.ssl.cf5.rackcdn.com/media_entries/8851/2016-04-28_105834.webm

It shows a couple of recently added features related to licenses and
locations.

The quality is poor though.  I should have spent more time on figuring
out how to make a proper screencast, sorry.  At least the file is less
than 1MB :-)

-- 
Alex



[PATCH] gnu: procps: Make procps build on non Linux systems.

2016-04-28 Thread Manolis Ragkousis
With this patch procps can be built on the Hurd.

Manolis
From 00c2d2ec11a75e3d74704150488e73ee7c8c6fe8 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis 
Date: Wed, 27 Apr 2016 23:33:56 +0300
Subject: [PATCH] gnu: procps: Make procps build on non Linux systems.

* gnu/packages/patches/procps-non-linux.patch.patch: New patch.
* gnu/packages/linux.scm (procps)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk|  1 +
 gnu/packages/linux.scm  |  4 +++-
 gnu/packages/patches/procps-non-linux.patch | 23 +++
 3 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/procps-non-linux.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 80017ea..036e649 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -673,6 +673,7 @@ dist_patch_DATA =		\
   gnu/packages/patches/polkit-drop-test.patch			\
   gnu/packages/patches/portaudio-audacity-compat.patch		\
   gnu/packages/patches/procmail-ambiguous-getline-debian.patch  \
+  gnu/packages/patches/procps-non-linux.patch			\
   gnu/packages/patches/pt-scotch-build-parallelism.patch	\
   gnu/packages/patches/pulseaudio-fix-mult-test.patch		\
   gnu/packages/patches/pulseaudio-longer-test-timeout.patch	\
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a26e641..f3c04cd 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -523,7 +523,9 @@ block devices, UUIDs, TTYs, and many other tools.")
   "procps-ng-" version ".tar.xz"))
   (sha256
(base32
-"1va4n0mpsq327ca9dqp4hnrpgs6821rp0f2m0jyc1bfjl9lk2jg9"
+"1va4n0mpsq327ca9dqp4hnrpgs6821rp0f2m0jyc1bfjl9lk2jg9"))
+  (patches
+   (list (search-patch "procps-non-linux.patch")
 (build-system gnu-build-system)
 (arguments
  '(#:modules ((guix build utils)
diff --git a/gnu/packages/patches/procps-non-linux.patch b/gnu/packages/patches/procps-non-linux.patch
new file mode 100644
index 000..dd21c82
--- /dev/null
+++ b/gnu/packages/patches/procps-non-linux.patch
@@ -0,0 +1,23 @@
+--- a/lib/test_process.c
 b/lib/test_process.c
+@@ -21,7 +21,9 @@
+ #include 
+ #include 
+ #include 
++#ifdef __linux__
+ #include 
++#endif
+ #include "c.h"
+ 
+ #define DEFAULT_SLEEPTIME 300
+@@ -78,8 +80,10 @@
+ sigaction(SIGUSR1, _action, NULL);
+ sigaction(SIGUSR2, _action, NULL);
+ 
++#ifdef __linux__
+ /* set process name */
+ prctl(PR_SET_NAME, MY_NAME, NULL, NULL, NULL);
++#endif
+ 
+ while (sleep_time > 0) {
+ 	sleep_time = sleep(sleep_time);
\ No newline at end of file
-- 
2.8.0



Re: [PATCH] Add antiword.

2016-04-28 Thread John Darrington
On Thu, Apr 28, 2016 at 08:19:38AM +0200, Ricardo Wurmus wrote:
 Hi Guix,
 
 I???m not sure about the description, nor about the mention of
 ???Microsoft???.  If you have better ideas for the description and synopsis
 please comment.
 
The only thing I would change is to drop the "(R)" .   In GNU our policy is
not to use trademark acknowledgements - especially not for proprietary software.


J'


-- 
Avoid eavesdropping.  Send strong encryted email.
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


Patch tracking

2016-04-28 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> As an experiment (it may disappear anytime), I generated the
> ‘patches.json’ file for “patches”, so you can now run:
>
>   guix package -i patches
>   patches fetch https://mirror.hydra.gnu.org/patches/patches.json
>   patches list status:committed

Please try!  :-)

> The “documentation” is at:
>
>   https://github.com/aliguori/patches/blob/master/README.md
>
> The project appears to be inactive though.  :-/

Good news: development has moved to:

  https://github.com/stefanha/patches

The QEMU folks also suggested looking at “patchew”:

  https://github.com/famz/patchew

An instance for QEMU can be seen at:

  http://140.211.15.4:8383/

Currently it looks very similar to Patchwork (or “patches”).

Ludo’.



Re: [PATCH] guix: use '@' in package-full-name instead of '-'

2016-04-28 Thread Mathieu Lirzin
Cyril Roelandt  writes:

> * guix/packages.scm (package-full-name): Use '@' instead of '-'.
> ---
>  guix/packages.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/guix/packages.scm b/guix/packages.scm
> index d62d1f3..e33791e 100644
> --- a/guix/packages.scm
> +++ b/guix/packages.scm
> @@ -346,7 +346,7 @@ name of its URI."
>  
>  (define (package-full-name package)
>"Return the full name of PACKAGE--i.e., `NAME-VERSION'."
> -  (string-append (package-name package) "-" (package-version package)))
> +  (string-append (package-name package) "@" (package-version package)))
>  
>  (define (%standard-patch-inputs)
>(let* ((canonical (module-ref (resolve-interface '(gnu packages base))

Unfortunately, changing this is not as simple.

When implementing the '-' to '@' thing, I have proposed to switch
‘package-full-name’.  While I still think it would make sense for it to
use '@', it would require a full rebuild of every package + extra care.
For example among other things the tests will not be happy for ‘guix
graph‘ IIRC, and the Guix website uses it to access Hydra links.

It would be great if you manage to solve this issue.  :)

Thanks,

-- 
Mathieu Lirzin



Re: [PATCH v6 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.

2016-04-28 Thread Andy Wingo
Hi :)

Mostly formatting nits, only a couple substantial comments.  Looking
great.

On Wed 27 Apr 2016 21:27, Jan Nieuwenhuizen  writes:

> From d81bd3a288f3298d11983da6050958af99780dfe Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen 
> Date: Sun, 17 Apr 2016 18:42:43 +0200
> Subject: [PATCH 04/10] gnu: cross-build: i686-w64-mingw32: new cross target.
>
> + (if libc
> + (setenv "CROSS_LIBRARY_PATH"
> + (string-append
> +  libc "/lib"
> +  ":" libc "/i686-w64-mingw32/lib")))

Use "when" please

> +(define (native-libc target)
> +  (if (mingw-target? target) mingw-w64
> +  glibc))

The if should be either all on one line, or on three lines

> From aacfb151046372046446e083bb6056e086f3cf68 Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen 
> Date: Tue, 12 Apr 2016 15:47:54 +0200
> Subject: [PATCH 07/10] gnu: ncurses: support mingw.
>
> +  (cond ((mingw-target? target)
> +  (with-directory-excursion (string-append out "/bin")
> +(for-each
> + (lambda (lib)

Because the consequent is so large, please indent the condition on the
line after "cond", i.e.

  (cond
   ((mingw-target? target)
...))

> +++ b/gnu/packages/patches/readline-6.3-mingw.patch
> @@ -0,0 +1,128 @@
> +Mingw lacks some SIG*.  Taken from
> +
> +wget 
> https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-readline/readline-6.3-mingw.patch
> +
> +some updates to make it apply.
> +
> +Upstream status: Not presented to upstream.

Probably needs to go upstream I think, and we should clarify the
licensing on it or rewrite it.

> +,(if (mingw-target?) "/bin"
> + "/lib"))

One line or three lines please

> From 5d77ef604ba7c89cfb14275ae9dc0d9b792517ee Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen 
> Date: Sun, 24 Apr 2016 14:06:56 +0200
> Subject: [PATCH 10/10] gnu: guile-2.0: support mingw.
>
> * gnu/packages/guile.scm (guile-2.0): Support mingw.
> ---
>  gnu/packages/guile.scm | 17 +
>  1 file changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
> index fe043cb..82e2cfc 100644
> --- a/gnu/packages/guile.scm
> +++ b/gnu/packages/guile.scm
> @@ -134,11 +134,16 @@ without requiring the source code to be rewritten.")
>"1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f"))
>  (patches (list (search-patch "guile-arm-fixes.patch")
> (build-system gnu-build-system)
> -   (native-inputs `(("pkgconfig" ,pkg-config)))
> +   (native-inputs `(("pkgconfig" ,pkg-config)
> +,@(if (mingw-target?)
> +  `(("bash" ,bash)
> +("guile" ,guile-2.0))
> +  '(

Would we not need Guile always when cross-compiling?

> (inputs `(("libffi" ,libffi)
>   ("readline" ,readline)
> - ("bash" ,bash)))
> -
> + ,@(libiconv-if-needed)
> + ,@(if (mingw-target?) '()
> +   `(("bash" ,bash)

One line please.

> @@ -167,7 +172,11 @@ without requiring the source code to be rewritten.")
>(let ((bash (assoc-ref inputs "bash")))
>  (substitute* "module/ice-9/popen.scm"
>(("/bin/sh")
> -   (string-append bash "/bin/bash")
> +   ,(if (mingw-target?)
> +"cmd.exe"
> +`(if bash
> + (string-append bash "/bin/bash")
> + "bash"))
>  %standard-phases)))

I guess the thing is, cmd.exe is part of the system, so it should be
linked "dynamically" (i.e. via the PATH); but is cmd.exe really a bash
replacement?  Is this the right way for open-pipe in Guile to work?

Finally at the very end of all of this I think it would be great to have
some kind of document, "how to compile software for windows using
Guix".   WDYT?  That document could include any relevant details about
the internal structure of a cross-compile -- how Guix links things
together.  I know that for me, this information is vey easily paged
out to long-term storage; takes a while to pull it back in :)

Andy



Re: [PATCH] Add antiword.

2016-04-28 Thread Taylan Ulrich Bayırlı/Kammer
Ricardo Wurmus  writes:

> Hi Guix,
>
> I’m not sure about the description, nor about the mention of
> “Microsoft”.  If you have better ideas for the description and synopsis
> please comment.
>
> ~~ Ricardo

The last part (about where the name comes from) might not be strictly
necessary, but it's funny and a statement, so no opinion on it. :-)

Otherwise seems fine to me.  We also mention e.g. Nintendo in the
synopsis and description of some emulators.  It's just what it is.  
Certainly not an encouragement to use MS Word, I'd say.

Taylan

> From a29993c7c079708aa0006a3af34b25bab99c Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Thu, 28 Apr 2016 08:11:05 +0200
> Subject: [PATCH] gnu: Add antiword.
>
> * gnu/packages/textutils.scm (antiword): New variable.
> ---
>  gnu/packages/textutils.scm | 36 
>  1 file changed, 36 insertions(+)
>
> diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
> index 71cf25b..e4caf8e 100644
> --- a/gnu/packages/textutils.scm
> +++ b/gnu/packages/textutils.scm
> @@ -292,3 +292,39 @@ as existing hashing techniques, with provably negligible 
> risk of collisions.")
>  characteristic of this library is that different character encoding for every
>  regular expression object can be specified.")
>  (license license:bsd-2)))
> +
> +(define-public antiword
> +  (package
> +(name "antiword")
> +(version "0.37")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "http://www.winfield.demon.nl/linux;
> +  "/antiword-" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f"
> +(build-system gnu-build-system)
> +(arguments
> + `(#:tests? #f ; There are no tests
> +   #:make-flags
> +   (list "-f" "Makefile.Linux"
> + (string-append "GLOBAL_INSTALL_DIR="
> +(assoc-ref %outputs "out") "/bin")
> + (string-append "GLOBAL_RESOURCES_DIR="
> +(assoc-ref %outputs "out") "/share/antiword"))
> +   #:phases
> +   (modify-phases %standard-phases
> + (delete 'configure)
> + (replace 'install
> +   (lambda* (#:key make-flags #:allow-other-keys)
> + (zero? (apply system* "make" `("global_install" 
> ,@make-flags
> +(home-page "http://www.winfield.demon.nl/;)
> +(synopsis "Microsoft Word document reader")
> +(description "Antiword is an application for displaying Microsoft Word
> +documents.  It can also convert the document to PostScript or XML.  Only
> +documents made by MS Word version 2 and version 6 or later are supported.  
> The
> +name comes from: \"The antidote against people who send Microsoft(R) Word
> +files to everybody, because they believe that everybody runs Windows(R) and
> +therefore runs Word\".")
> +(license license:gpl2+)))



Re: [PATCH] Upgrade ruby to 2.3.1 (including symlink patch)

2016-04-28 Thread Ricardo Wurmus

Ben Woodcroft  writes:

> On 28/04/16 15:19, Ricardo Wurmus wrote:
>> Rob Syme  writes:
>>
>>> * gnu/packages/patches/ruby-symlinkfix.patch: New patch to fix issue #1448.
>>> * gnu/packages/ruby.scm (ruby): Update to 2.3.1 including symlink patch.
>> Thank you!  The patch also needs to be registered in dist_patch_DATA in
>> “gnu/local.mk”.  I can do this later when applying the patch in the
>> office, unless there are other objections to this patch.
>
> Do you mind holding off for a bit (no more than ~10 hours)? I wouldn't 
> mind having a play with this myself.

No problem.  I can also apply this tomorrow if your tests find no
problems.  Thanks!

~~ Ricardo




[PATCH] Add antiword.

2016-04-28 Thread Ricardo Wurmus
Hi Guix,

I’m not sure about the description, nor about the mention of
“Microsoft”.  If you have better ideas for the description and synopsis
please comment.

~~ Ricardo

>From a29993c7c079708aa0006a3af34b25bab99c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Thu, 28 Apr 2016 08:11:05 +0200
Subject: [PATCH] gnu: Add antiword.

* gnu/packages/textutils.scm (antiword): New variable.
---
 gnu/packages/textutils.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 71cf25b..e4caf8e 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -292,3 +292,39 @@ as existing hashing techniques, with provably negligible risk of collisions.")
 characteristic of this library is that different character encoding for every
 regular expression object can be specified.")
 (license license:bsd-2)))
+
+(define-public antiword
+  (package
+(name "antiword")
+(version "0.37")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://www.winfield.demon.nl/linux;
+  "/antiword-" version ".tar.gz"))
+  (sha256
+   (base32
+"1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; There are no tests
+   #:make-flags
+   (list "-f" "Makefile.Linux"
+ (string-append "GLOBAL_INSTALL_DIR="
+(assoc-ref %outputs "out") "/bin")
+ (string-append "GLOBAL_RESOURCES_DIR="
+(assoc-ref %outputs "out") "/share/antiword"))
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+   (lambda* (#:key make-flags #:allow-other-keys)
+ (zero? (apply system* "make" `("global_install" ,@make-flags
+(home-page "http://www.winfield.demon.nl/;)
+(synopsis "Microsoft Word document reader")
+(description "Antiword is an application for displaying Microsoft Word
+documents.  It can also convert the document to PostScript or XML.  Only
+documents made by MS Word version 2 and version 6 or later are supported.  The
+name comes from: \"The antidote against people who send Microsoft(R) Word
+files to everybody, because they believe that everybody runs Windows(R) and
+therefore runs Word\".")
+(license license:gpl2+)))
-- 
2.7.3



Re: [PATCH] Upgrade ruby to 2.3.1 (including symlink patch)

2016-04-28 Thread Rob Syme
I'm no expert, so please take as long as you need to look over this. I've
attached a patch that includes the addition of the patch path to
dist_patch_DATA.
-r

On Thu, 28 Apr 2016 at 13:26 Ben Woodcroft  wrote:

>
>
> On 28/04/16 15:19, Ricardo Wurmus wrote:
> > Rob Syme  writes:
> >
> >> * gnu/packages/patches/ruby-symlinkfix.patch: New patch to fix issue
> #1448.
> >> * gnu/packages/ruby.scm (ruby): Update to 2.3.1 including symlink patch.
> > Thank you!  The patch also needs to be registered in dist_patch_DATA in
> > “gnu/local.mk”.  I can do this later when applying the patch in the
> > office, unless there are other objections to this patch.
>
> Do you mind holding off for a bit (no more than ~10 hours)? I wouldn't
> mind having a play with this myself.
>
> This will require all ruby packages to be rebuilt, but my vote is to
> bung it on master given that it doesn't take too long to rebuild the
> ruby packages.
> ben
>

* gnu/packages/patches/ruby-symlinkfix.patch: New patch to fix issue #1448.
* gnu/packages/ruby.scm (ruby): Update to 2.3.1 including symlink patch.
* gnu/local.mk (dist_patch_DATA): Add patch to dist_patch_DATA variable

---
 gnu/local.mk   |  1 +
 gnu/packages/patches/ruby-symlinkfix.patch | 53 ++
 gnu/packages/ruby.scm  |  5 +--
 3 files changed, 57 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/ruby-symlinkfix.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 3cdf5e4..6265792 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -712,6 +712,7 @@ dist_patch_DATA =		\
   gnu/packages/patches/readline-link-ncurses.patch		\
   gnu/packages/patches/ripperx-missing-file.patch		\
   gnu/packages/patches/rsem-makefile.patch			\
+  gnu/packages/patches/ruby-symlinkfix.patch\
   gnu/packages/patches/sed-hurd-path-max.patch			\
   gnu/packages/patches/scheme48-tests.patch			\
   gnu/packages/patches/scotch-test-threading.patch		\
diff --git a/gnu/packages/patches/ruby-symlinkfix.patch b/gnu/packages/patches/ruby-symlinkfix.patch
new file mode 100644
index 000..16beecc
--- /dev/null
+++ b/gnu/packages/patches/ruby-symlinkfix.patch
@@ -0,0 +1,53 @@
+Fix symlinks to '..' to fix rubygems improperly expanding symlinked
+paths. Without this fix, some gems fail to install. This patch is applied in
+rubygems 2.5.2, but ruby version 2.3.1 bundles an older version of rubygems
+(2.5.1).
+
+--- a/lib/rubygems/package.rb
 b/lib/rubygems/package.rb
+@@ -383,7 +383,7 @@ def extract_tar_gz io, destination_dir, pattern = "*" # :nodoc:
+   FileUtils.chmod entry.header.mode, destination
+ end if entry.file?
+
+-File.symlink(install_location(entry.header.linkname, destination_dir), destination) if entry.symlink?
++File.symlink(entry.header.linkname, destination) if entry.symlink?
+
+ verbose destination
+   end
+diff --git a/test/rubygems/test_gem_package.rb b/test/rubygems/test_gem_package.rb
+index 7848bc2..f287bd3 100644
+--- a/test/rubygems/test_gem_package.rb
 b/test/rubygems/test_gem_package.rb
+@@ -428,19 +428,25 @@ def test_extract_tar_gz_absolute
+  "#{@destination} is not allowed", e.message)
+   end
+
+-  def test_extract_tar_gz_symlink_absolute
++  def test_extract_tar_gz_symlink_relative_path
++skip 'symlink not supported' if Gem.win_platform?
++
+ package = Gem::Package.new @gem
+
+ tgz_io = util_tar_gz do |tar|
+-  tar.add_symlink 'code.rb', '/absolute.rb', 0644
++  tar.add_file'relative.rb', 0644 do |io| io.write 'hi' end
++  tar.mkdir   'lib', 0755
++  tar.add_symlink 'lib/foo.rb', '../relative.rb', 0644
+ end
+
+-e = assert_raises Gem::Package::PathError do
+-  package.extract_tar_gz tgz_io, @destination
+-end
++package.extract_tar_gz tgz_io, @destination
+
+-assert_equal("installing into parent path /absolute.rb of " +
+- "#{@destination} is not allowed", e.message)
++extracted = File.join @destination, 'lib/foo.rb'
++assert_path_exists extracted
++assert_equal '../relative.rb',
++ File.readlink(extracted)
++assert_equal 'hi',
++ File.read(extracted)
+   end
+
+   def test_extract_tar_gz_directory
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bafa7e3..b8a6d01 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -46,7 +46,7 @@
 (define-public ruby
   (package
 (name "ruby")
-(version "2.3.0")
+(version "2.3.1")
 (source
  (origin
(method url-fetch)
@@ -55,8 +55,9 @@
"/ruby-" version ".tar.xz"))
(sha256
 (base32
- "15s0dsb5ynf3d2w5gzawnszq5594fqvapv2y7a0qw16przq5l4kh"))
+ "0f3395q7pd2hrl2gv26bib80038sjawxgmhl9zn22fjs9m9va9b7"))
(modules '((guix build utils)))
+   (patches (search-patches