Re: performance issue with TeX Live

2023-10-09 Thread Nicolas Goaziou
Hello,

Emmanuel Beffara  writes:

> De Nicolas Goaziou le 13/09/2023 à 14:39:

>> It may be interesting to compare location and contents of the ls-R files
>> in both installations.
>
> I tried to explore this but I see no reason why the ls-R files would be
> ignored

I spent some time exploring this, but I cannot tell either. Though, it
is plausible that the problem is related to ls-R files, or, more
accurately, the reason why they are not read.

Note that those files are not installed in every tree. For example
`texlive-updmap.cfg' doesn't create any so, IIUC, any TeX Live tree used
as a build input require to navigate the file system.

I also tried to tweak TEXMFDBS and TEXMF values in "texmf.cnf" from
"texlive-libkpathsea" package, but couldn't find a sweet spot.

At the moment, I'm running out of ideas, and time.

> I do want to contribute to a solution, because right now texlive is
> practically unusable in Guix.

FWIW, I use modular TeX Live regularly, so "unusable" is probably a bit
strong. However, I agree the current situation is frustrating.

Regards,
-- 
Nicolas Goaziou



Re: performance issue with TeX Live

2023-09-13 Thread Nicolas Goaziou
Hello,

Emmanuel Beffara  writes:

> I am facing a severe performance issue with TeX Live: compilation of any
> document is an order of magnitude slower with a Guix installed system as
> compared to a manual installation. Is anyone confronted to this phenomenon, or
> is there a way to fix this ?

I also experienced a noticeable slowdown; I don't know how to fix it yet.

> I tried doing `strace` on the pdflatex calls to investigate further and it
> appears that the behaviours of the two versions are largely different.
> Counting the number of system calls of each kind gives the following, for the
> most frequent calls:
>
> - minimal document, Guix version:
>
>112860 newfstatat
> 10491 getdents64
>  5247 openat
>  5246 close
>  4397 access
>  3141 read
>
> - minimal document, manual version:
>
>  2772 read
>90 openat
>72 access
>64 close
>64 newfstatat
>60 getdents64
>
> - slideshow, Guix version:
>
>   2831722 getdents64
>   1538560 newfstatat
>   1498287 access
>   1415296 openat
>   1415295 close
>  4283 read
>
> - slideshow, Guix version:
>
>  3913 read
>  1288 getdents64
>  1136 access
>   960 openat
>   925 close
>   920 newfstatat
>
> So apparently no file hash is used in the Guix version and a large part of the
> `texmf-dist` folder is browsed, probably several times.

A ls-R file is generated during profile creation (see
`texlive-font-maps' function in "guix/profiles.scm") but it seems it is
not read.

It may be interesting to compare location and contents of the ls-R files
in both installations.

Regards,
-- 
Nicolas Goaziou



Re: documentation in TeX Live collections

2023-08-28 Thread Nicolas Goaziou
Nicolas Goaziou  writes:

> Emmanuel Beffara  writes:

>>> In any case, I suggest to write a proper bug report for this. Hopefully,
>>> someone with better understanding about the implications of GUIX_TEXMF
>>> will be able to solve this.
>>
>> I can do that for the texdoc behaviour.

By the way, I think I fixed `texdoc' utility. Would you care testing it
after a fresh `guix pull'?



Re: documentation in TeX Live collections

2023-08-28 Thread Nicolas Goaziou
Emmanuel Beffara  writes:

> I don't understand how "out" and "doc" are different in this respect. The
> "out" output of a collection meta-package has no content of its own and it
> only serves to gather the "out" outputs of its inputs. Similarly, the "doc"
> output would have no content of its own and only gather the "doc" outputs of
> its inputs. How is that inconsistent?
>
> There may be something I misunderstand about how Guix packages work
> here.

Outputs are used to split files to be installed after building
a package. Since meta-packages do not build anything, there is nothing
to install, and therefore, to split. The default output is enough.

I imagine it would be possible to bend that concept, and, for example,
create a tree of symlinks, pointing to the documentation of the various
propagated packages, that would ultimately be moved to a "doc" output.
AFAICT, however, no package in Guix does this.

Another data point to consider: `texlive-collection-foo' and
hypothetical `texlive-collection-foo:doc' would require to propagate two
different sets of packages, which may be an argument in favor of
creating two different packages in the first place.

Please note that I have no strong opinion on that subject anyway. I hope
experienced TeX Live users can chime in.

>> In any case, I suggest to write a proper bug report for this. Hopefully,
>> someone with better understanding about the implications of GUIX_TEXMF
>> will be able to solve this.
>
> I can do that for the texdoc behaviour.

Great! Thank you.

-- 
Nicolas Goaziou



Re: documentation in TeX Live collections

2023-08-28 Thread Nicolas Goaziou
Hello,

Emmanuel Beffara  writes:

> Yet, as far as I know, most packages in Guix (apart from texlive-* ones) come
> with their documentation, so it feels somewhat inconsistent.

Every texlive-* package comes with its documentation, in a separate
output. "doc" output are not uncommon at all in Guix. Therefore,
I disagree with the inconsistency you're talking about.

> not including the docs in the main outputs can make sense, especially given
> the volume it represents. Anyway, given that there is extensive documentation
> in TeX Live, it seems only natural to have it easily accessible.

Barring the `texdoc' issue, documentation is easily accessible; you just
need to install the "doc" output of the package you're interested in.

>> Would the following definition for texlive-texdoc solve both issues
>> mentioned above? (the warning and the error.)
> [...]
>>(add-after 'link-scripts 'wrap-programs
>>  (lambda _
>>(wrap-program (string-append #$output "/bin/texdoc")
>>  '("GUIX_TEXMF" = ("${GUIX_TEXMF%:*}"
>
> It would certainly remove the warning but it would make only the first path
> usable by texdoc, while other tools seem to support having several paths in
> GUIX_TEXMF. Besides, I don't understand how GUIX_TEXMF is taken into account
> by the various tools. Web2c and co don't know them, so there must be some
> wrapping or patching somewhere in the package definitions?

It seems some programs do handle it fine, e.g., tlmgr, but not all of
them (e.g., texdoc or chktex). In any case, I don't know enough about
this part of the code to answer this.

> Is there a way to diagnose that kind of thing? I stumbled on a similar
> behaviour in other contexts and was unable to investigate it (in my case, big
> debug versions of Qt libraries are often downloaded, although I neved
> requested any debugging version of anything).

Usually, there is `guix graph --path package1 package2', which explains
why package2 is installed along with package1. I couldn't get any
meaningful result in this case.

>> If that's a common request, we could add a `texlive-collection-foo-doc'
>> package that would propagate all "doc" outputs from all packages
>> included in `texlive-collection-foo'.
>> 
>> However, I'm a bit reluctant to add more artificial packages (i.e., not
>> known to TeX Live distribution). Also, it might be as simple to do it in
>> one's own manifest.
>
> I think it would make much more sense to have "doc" outputs also for
> collections and schemes. It would be consistent with the structure of
> individual packages and would not require artificial packages.

I disagree. Collections are meta-packages. There is no documentation,
nor content, attached to them. Moreover Guix meta-packages do nothing
special about the documentation of packages they propagate. This would
be inconsistent.

> Having individual package documentations in one's manifests is of course
> doable but it is contradictory with the approach of collections.

How so?

In any case, I suggest to write a proper bug report for this. Hopefully,
someone with better understanding about the implications of GUIX_TEXMF
will be able to solve this.

Regards,
-- 
Nicolas Goaziou



Re: documentation in TeX Live collections

2023-08-27 Thread Nicolas Goaziou
output "/bin/texdoc")
 '("GUIX_TEXMF" = ("${GUIX_TEXMF%:*}"
(propagated-inputs (list texlive-kpathsea))
(home-page "https://ctan.org/pkg/texdoc;)
(synopsis "Documentation access for TeX Live")
(description
 "@command{texdoc} is a Lua script providing easy access to the
documentation in TeX Live: PDF, DVI, plain text files, and more.  Viewing and
other configuration can be extensively customized.")
(license license:gpl3+)))
--8<---cut here---end--->8---

> As an attempt to work around this, I tried to add texlive-latex:doc to my home
> profile definition and it did make that documentation available to texdoc.
> Moreover, for some reason, ALL documentation was downloaded:
>
> $ guix home reconfigure home.scm
> ...
>  texlive-cm-66594-doc  2KiB
>  texlive-etex-66594-doc  189KiB
>  texlive-hyphen-complete-66594-doc  783KiB
>  texlive-kpathsea-66594-doc  1022KiB
>  texlive-pdftex-66594  4.2MiB
> ...
> $ ls -d /gnu/store/*-texlive-*-doc/ | wc
>11051105   82506
>
> Apparently something has triggered the download of documentation for all
> packages `texlive-scheme-medium` depends on but only the one I explicitly
> requested is made available in the profile (which is expected). All these
> other documentation were downloaded but not used and `guix gc` actually
> deletes them all!

I noticed that, too, but I don't have any explanation for it at the
moment.

For example,

  ./pre-inst-env guix shell texlive-scheme-basic texlive-texdoc 
texlive-babel:doc

is enough to trigger a massive download of "doc" outputs.

> So what would be the proper way to install `texlive-scheme-medium` in a home
> profile with the documentation of the packages it includes ?

If that's a common request, we could add a `texlive-collection-foo-doc'
package that would propagate all "doc" outputs from all packages
included in `texlive-collection-foo'.

However, I'm a bit reluctant to add more artificial packages (i.e., not
known to TeX Live distribution). Also, it might be as simple to do it in
one's own manifest.

I'm Cc'ing guix-devel ML.

Regards,
-- 
Nicolas Goaziou



Re: Question about packaging TexLive

2023-04-19 Thread Nicolas Goaziou
Ricardo Wurmus  writes:

> Nicolas Goaziou  writes:
>
>> 1. "#:trivial? #t" means we're giving up generating ".sty" files from
>>source;
>
> Trivial should only ever be used for packages where there aren’t any
> sources to build from.

We are on the same length.

However, some packages do use "#:trivial #t" even though they should
not, e.g., `texlive-latex-marginfix'. My point is that we should not
make "#:trivial #t" the default, assuming that was a possibility
stemming from Simon's question.

>> 2. Some affected packages are also missing propagated inputs (e.g.,
>>texlive-latex-graphics for texlive-latex-fncychap);
>
> Correct.  The old importer didn’t know about dependencies.  The newer
> importer uses tlpdb to get a list of dependencies.

AFAIU, this is not sufficient. All dependencies do not appear in
"texlive.tlpbd". For example, `texlive-halloweenmath' has no "depend"
entry in the tlpbd. Yet, it requires both texlive-amsmath and
texlive-pict2e (i.e., "halloweenmath.sty" contains
"\RequirePackage{amsmath,pict2e}").

So, unless I'm mistaken, most dependencies have to be resolved manually.

> All packages must be checked for completeness.  All new packages I’ve
> added have been checked.  All old packages must be checked before
> renaming them.  The way to check them is to build them and then check
> the outputs with something like this:
>
> --8<---cut here---start->8---
> ,use (guix import texlive)
> ,pp (files-differ? "/gnu/store/…-texlive-amsfonts-fixed-59745/share/" 
> "amsfonts")
> --8<---cut here---end--->8---
>
> This compares outputs with tlpdb.

I use this valuable tool, but this is somewhat tedious. Could this
become a test in the linter?

> Note that simple-texlive-package is far from perfect.  We have many
> tex packages that require excessive workarounds to ensure that files end
> up in the correct location and that superfluous files are removed.
> simple-texlive-package should eventually take care of all of this, but I
> haven’t been able to make time to work on it.

We may need to update more Texlive packages to get a better grasp of the
changes required in `simple-texlive-packages'. When doing such updates,
I mostly copy and paste definition from previously updated packages,
which is a good thing. However, some translations seem complicated.

> All this work should be done on a separate feature branch.

Agreed.

Regards,



Re: Question about packaging TexLive

2023-04-19 Thread Nicolas Goaziou
Hello,

Simon Tournier  writes:

> Other said, any objection to go from this pattern:
>
> --8<---cut here---start->8---
> (define-public texlive-foo
>   (package
> (name "texlive-foo")
> (version (number->string %texlive-revision))
> (source (origin
>   (method svn-multi-fetch)
>   (uri (svn-multi-reference
> (url (string-append "svn://www.tug.org/texlive/tags/"
> %texlive-tag "/Master/texmf-dist"))
> (locations '("/metafont/"
>  "/fonts/source/public/modes/"))
> (revision %texlive-revision)))
>   (file-name (string-append name "-" version "-checkout"))
>   (sha256
>(base32
> ""
> (build-system gnu-build-system)
> (arguments
>  `(#:tests? #f ; no test target
>#:phases
> [...]
> --8<---cut here---end--->8---
>
>
> to this pattern:
>
> --8<---cut here---start->8---
> (define-public texlive-foo
>   (package
> (inherit (simple-texlive-package
>   "texlive-foo"
>   (list "/tex/generic/foo")
>   (base32
>"")
>   #:trivial? #t))
> --8<---cut here---end--->8---
>
> It is about ~35 packages, if I count correctly.
>
> WDYT?

I think this is necessary but not sufficient.

1. "#:trivial? #t" means we're giving up generating ".sty" files from
   source;

2. Some affected packages are also missing propagated inputs (e.g.,
   texlive-latex-graphics for texlive-latex-fncychap);

3. Some affected package also need to be renamed
   (texlive-latex-fncychap, texlive-latex-framed).

AFAIU, this changes will probably ease time travelling, but the massive
rebuild it will entail will have to be repeated for the other steps.

So maybe we could do every step above in one go?

Regards,
-- 
Nicolas Goaziou



Re: Capitole du Libre at Toulouse

2022-09-25 Thread Nicolas Goaziou
Hello,

Andreas Enge  writes:

> Would others be available and like to join?

I may be able to come, at least some part of the week-end.

> I am not quite sure how one presents a distribution at a booth, since
> there is not really much to attract the eye, or is there?

Who cares about the distribution? Just distribute stickers! :)

Anyway, Debian and Mageia, at least, are usually there. So, why not
Guix?

Regards,
-- 
Nicolas Goaziou



Re: FSDG issues of SCUMMVM-based games

2022-08-24 Thread Nicolas Goaziou
Hello,

Liliana Marie Prikler  writes:

> The packages
> - drascula,
> - lure,
> - queen, and
> - sky
> all share issues that make me question whether they should be in Guix.
>
> 1. Their license explicitly prohibits selling of the games themselves
> and may thus be qualified as non-free.
> 2. The "sources" consist of binaries that are installed as-is.
>
> Given the above, I think we ought not distribute them.  Note that this
> is not a statement on SCUMMVM itself, but only the packages built with
> it.
>
> WDYT?

For the record, I added these games because I agree with Debian
packagers on the topic. See
<https://metadata.ftp-master.debian.org/changelogs//main/d/drascula/drascula_1.0+ds4-1_copyright>.

Regards,
-- 
Nicolas Goaziou



Re: Repology and outdated packages

2022-06-07 Thread Nicolas Goaziou
Hello,

kias...@disroot.org writes:

> I've been watching the Repology page for Guix and I've noticed that
> we've dropped to 51% outdated packages
> [https://repology.org/repository/gnuguix]. We used to be at 40%
> outdated packages a few months ago.

Repology hasn't been able to caught Guix package updates for a while
now. As a consequence, many packages are marked as outdated in Repology
even though they are not.

Regards,
-- 
Nicolas Goaziou



Re: Accuracy of importers?

2021-10-29 Thread Nicolas Goaziou
Hello,

Ludovic Courtès  writes:

> My understanding is that most of them require manual intervention—i.e.,
> one has to tweak what ‘guix import’ produces, even if we ignore
> synopsis/description/license, to set the right inputs, etc.  If we were
> to estimate the fraction of imported packages for which manual changes
> are needed, what would it look like?
>
>importer fraction of imported packages needing changes
>
>gnu  90% (doesn’t know about dependencies)
>pypi 50% (some miss source distro, “sdist”; some have
>  non-Python deps)
>cpan ?
>hackage  ?
>stackage (Lars?)
>egg  (Xinglu?)
>elpa (Nicolas?)

The elpa importer is accurate. Manual changes are often (I would say
around 75%) required for the description field, tho.

However, the generated source URI is not reliable (see bug #46849),
which means the importer is not practical. Using it means the imported
package will need to be updated quickly.

> Among those, which importers provide source that differs from what you’d
> get from upstream’s checkout or release tarballs?  My guess:
>
>pypi (see LastPyMile paper)
>elpa (gives hosted tarballs that can differ from upstream repo)

Indeed.

>gem (similar to PyPI)
>npm (ditto)
>
> What about licensing info: which ones provide accurate licensing info?
> My guess:
>
>    gnu
>pypi
>cpan
>cran
>elpa

Correct

Regards,
-- 
Nicolas Goaziou



Re: git-fetch for emacs-auctex?

2021-05-25 Thread Nicolas Goaziou
Hello,

Leo Prikler  writes:

> Probably yes, but I don't think that being 1 version late out of
> principle is a good idea.  Perhaps we can get ELPA to always serve
> everything as .tar.lz?  Otherwise let's consider mirrors or SWH.

Also, not all packages have mirrors elsewhere. Of course SWH could work.

> You should be able to point to the commit in question, e.g.
> 3e163e5d0f2b89a4ad1542b6bd68f8c8fcf3f096.  That said, the ELPA repo
> doesn't seem too well annotated :P

There are no tags in the ELPA repository, but new releases are triggered
by a bump of "Version:" keyword. So, it is technically possible to map
a version to a commit hash by looking for such changes. This has been
suggested already in bug#46489.

Regards,
-- 
Nicolas Goaziou



Re: [PATCH RFC 0/4] Getting rid of input labels?

2021-05-21 Thread Nicolas Goaziou
Hello,

Ludovic Courtès  writes:

> Here’s a proposal for a soft revolution: getting rid of input labels
> in package definitions.  Instead of writing:
>
> (native-inputs
>  `(("autoconf" ,autoconf)
>("automake" ,automake)
>("pkg-config" ,pkg-config)
>("guile" ,guile-3.0)))
> 
> one can write:
>
> (native-inputs (list autoconf automake pkg-config guile-3.0))

Nice! Thank you.

>   • Packages such as ‘tzdata’ use labels to refer to non-package
> inputs.  These cannot be converted to the automatic labeling
> style, or not without extra changes.

Would it be possible to write something like

  (inputs (let ((tzcode (origin ...)))
(list ... tzcode ...)))

?
>
>   • Currently, something like:
>
>   (inputs (list glib))
>
> is converted to:
>
>   (inputs `(("glib" ,glib)))
>
> Should it, instead, be converted to:
>
>  (inputs `(("glib" ,glib)
>("glib:bin" ,glib "bin")))
>
> ?  This would make the concise style strictly less
> expressive, but maybe good enough?

Could the new syntax accept both variables and specifications, e.g.,

   (list "glib:bin" foo "bar@2.3")

?

Regards,
-- 
Nicolas Goaziou



Re: branch master updated: gnu: Add emacs-wucuo.

2021-05-15 Thread Nicolas Goaziou
Hello,

Mathieu Othacehe  writes:

> Hello Chris,
>
>> The n on this line means that this package can't be built, and also
>> breaks the linter.
>>
>> I've removed the n in fd2abc2a51e2cc39ac67dcef1d21a8037147e798.
>
> It also broke Cuirass master evaluation.

Doh. Sorry, my CTRL key is failing me.

> Thanks for fixing it,

Thanks, indeed!

Regards,
-- 
Nicolas Goaziou



Re: About emacs-pyim-basedict

2021-05-09 Thread Nicolas Goaziou
Hello,

tumashu  writes:

>  emacs-pyim-basedict is a GNU elpa package, suggest use elpa
>  method :-)

This is not a good idea as long as bug#46849 (and similar bug#47559) are
not fixed.

Regards,
-- 
Nicolas Goaziou



Re: rust-tempfile-3 update to 3.2.0 breaks sequoia build

2021-05-04 Thread Nicolas Goaziou
Hello,

Hartmut Goebel  writes:

> I was able to fix sequoia by updating to 1.1 and applying some more
> changes.

Thank you.

> Please review <http://issues.guix.gnu.org/issue/48154> so we
> can get it into upcoming guix 1.3. Thanks in advance

I don't use sequoia but I confirm it builds on my x86_64 system.

nitpick: Your "cargo can't ..." comment ought to start with
a single semicolon.

In `fix-permissions' phase, are you sure you need #o644 permission?
Otherwise, you may want to use `make-file-writeable'.

Anyway, LGTM!

Regards,

-- 
Nicolas Goaziou



Re: rust-tempfile-3 update to 3.2.0 breaks sequoia build

2021-04-04 Thread Nicolas Goaziou
Hello,

Hartmut Goebel  writes:

> building sequoia is currently broken in master with
> "syn::export::ToTokens" not found.
>
> I tracked this down to 6513650d40f74 "gnu: rust-tempfile-3: Update to
> 3.2.0." (2021-02-16). The updated package also updates some
> dependency-requirements: cfg-if 0.1 -> 1, rand 0.7 -> 0.8 and
> redox-syscall 0.1 -> 0.2.
>
> While in theory - according to semantic versioning -, updating 3.1.x to
> 3.2.x should not any effect on others packages, this updates has :-(

Ouch :(

> I tried building with rust-tempfile-3.1, with no success - this fails
> with "rand::rngs::OsRng" missing. Updating rust-rand-core-0.6 to 0.6.2
> (since 0.6.1 was yanked), did not help either - then I gave up.

I confirm this.

> Any ideas how to make sequoia build again?

Not really. Is it possible to upgrade it to a more recent commit? I see
that Cargo.lock references tempfile 3.2.0 in HEAD.

Regards,
-- 
Nicolas Goaziou



Re: Opposition to new single-letter package name "t"

2021-03-09 Thread Nicolas Goaziou
Hello,

Raghav Gururajan  writes:

> Makes sense. I have attached the patch.

Applied. Thank you.

Sorry for the mess!

Regards,
-- 
Nicolas Goaziou



Re: [PATCH] gnu: alacritty: Update to 0.7.1.

2021-02-17 Thread Nicolas Goaziou
Hello,

Tobias Geerinckx-Rice  writes:

> Are you sure Gnome 3 doesn't run X?

I don't know. I use Gnome 3 on Debian 10 and reports "Wayland" as
"Windowing system" (translation is mine).

OTOH, I know that some Wayland-specific applications, e.g., "wob",
refuse to run in it. So it might as well be an hybrid beast.

> I'd be suprised (and interested) if
>
>  DISPLAY= $(guix time-machine --commit=3e10f0e -- \
>   build alacritty)/bin/alacritty
>
> works for you.  It should complain and fail to launch at all, because
> it can't connect to the legacy X(wayland) server.

The command above fails for me, indeed.

> I don't know.  Maybe more testing, or pinging the original author. No
> definitive answers here.

It's difficult to do more testing without knowing what to test. It is
a terminal emulator. I launched it and executed a couple of commands in
it.

Moreover, the original author hasn't updated the package since it was
added, a year ago. So I guess they were not interested in keeping it up
to date.

I'm not pretending the process could not be improved on my side. However
in this particular case, the improvements are not obvious. Also, on
complicated packages such as this one, I think some hiccups are going to
happen anyway. Yet, it is obviously better than not updating them at
all.

>> Please bear in mind that:
>> 1. it was not a small version bump, so many things could have
>> changed in
>>the package definition;
>
> Right, I had to bump the version numbers, but it wasn't an
> unreasonable amount of work.

For large version bumps, I tend to discard old tweaks first and check if
the program runs without them. Otherwise, we might pile up cruft in
package definitions forever.

> Agreed on both counts: it's a gross hack[0], and it deserves
> a comment.  I should have added one and will do so now.

Thank you. 

It might also be interesting to add the command "DISPLAY= $(guix build
alacrity)/bin/alacritty" in the comment so anyone can try it out before
updating the package.

WDYT?

Regards,
-- 
Nicolas Goaziou



Re: [PATCH] gnu: alacritty: Update to 0.7.1.

2021-02-16 Thread Nicolas Goaziou
Hello,

Tobias Geerinckx-Rice  writes:

> Commit 3e10f0eef0fb8b99f5220653b6564693365491b1 removes a phase:
>
>> Remove unneeded phase and some replacements.
>
> without explanation.  It's admittedly not the prettiest hack, but is
> needed to run Alacritty on Wayland[0].
>
> Do you remember why you removed it?  (Please, say so in the commit
> message!)

As written in the commit message, I removed it because Alacritty was
working without it here on my Gnome 3 Wayland session, hence the
"unneeded" part. What else was necessary?

Please bear in mind that:
1. it was not a small version bump, so many things could have changed in
   the package definition;

2. the hack is actually non-trivial as it references packages that do
   not even belong to the inputs but was not even a single comment line
   explaining its importance.

I'm sorry if you lost time re-instating this hack. OTOH, there is
certainly room for improvement in this situation.

Regards,
-- 
Nicolas Goaziou



Re: 05/05: gnu: Add ghc-hspec-discover.

2020-02-09 Thread Nicolas Goaziou
Timothy Sample  writes:

> Between the convention and the fact that “hspec-discover” is almost
> always used as a program instead of a library, I would say that it’s
> okay the way it is.  Beyond that, it would be quite a bit of churn to
> change it with very little benefit.

Fair enough. I reverted the patch.

Thanks again.



Re: 05/05: gnu: Add ghc-hspec-discover.

2020-02-09 Thread Nicolas Goaziou
Hello,

Timothy Sample  writes:

> We already have “hspec-discover” without the “ghc” prefix.  The two
> packages look identical to me – is this an unintentional copy?

Oh! I hadn't noticed!

Well, is there any strong reason to use "hspec-discover" over
"ghc-hspec-discover", besides that it already exists?

For the arguments in favor of using ghc-hspec-discover:
- every other "hspec" package uses the "ghc-" prefix,
- the hackage importer names it,
- the hackage importer will add "ghc-hspec-discover" as an input anyway.

So what about deprecating "hspec-discover" in favor of
"ghc-hspec-discover"?

Thanks for the heads up!

Regards,

-- 
Nicolas Goaziou



Re: branch master updated: gnu: ode: Disable tests.

2020-01-28 Thread Nicolas Goaziou
Hello,

Ludovic Courtès  writes:

> This should rather be:
>
>   (string-prefix? "x86_64-" (or (%current-target-system) (%current-system)))
>
> because ‘%current-target-system’ is a triplet (like “arm-linux-gnueabihf”)
> whereas ‘%current-system’ is a “system type” (like “x86_64-linux”).

Understood. I fixed it in 07a7cccbac59dd8265fffdd4b87616cd0419a2c7.

Thank you!

Regards,

-- 
Nicolas Goaziou



Re: branch master updated: gnu: ode: Disable tests.

2020-01-25 Thread Nicolas Goaziou
Hello,

Ludovic Courtès  writes:

> What about disabling tests only on those platforms 

I didn't realize that was possible. Hopefully, commit
5b7fdc8289ce0adf85e881bc23d3537121b41193 fixes this.

> reporting a bug upstream about the failures on the other platforms?

Done here:

  
https://bitbucket.org/odedevs/ode/issues/65/tests-failing-on-platforms-other-than

Regards,

-- 
Nicolas Goaziou



Re: 01/01: gnu: Add ratpoints.

2019-06-21 Thread Nicolas Goaziou
Hello,

Andreas Enge  writes:

> In this case, there is hope though, from SPKG.txt:
> "NOTE: the ratpoints package has been assimilated by PARI/GP. Therefore,
> this package (as Sage package) is deprecated. In the future, it will be
> removed from Sage."
>
> So maybe we could move it (again, sorry...), to the sagemath module,
> with the plan to drop it as soon as Sage does not need it anymore?

Done.

Regards,

-- 
Nicolas Goaziou



Re: 01/01: gnu: Add libgd.

2019-06-20 Thread Nicolas Goaziou
Hello,

Andreas Enge  writes:

> On Thu, Jun 20, 2019 at 12:43:41PM +0200, Nicolas Goaziou wrote:
>> But, isn't the project's name libgd?
>
> I would say so. It is the domain name and also the tarball name.
> The website starts with a news item:
> "The LibGD team is proud to announce the 2.2.5 release of libgd."
>
> But renaming it now looks like a major effort...

It just needs to be done in core updates. Besides, it will make lzip
files appear faster. :)

Regards,

-- 
Nicolas Goaziou



Re: 01/01: gnu: Add libgd.

2019-06-20 Thread Nicolas Goaziou
Hello,

Ludovic Courtès  writes:

> Hello,
>
> guix-comm...@gnu.org skribis:
>
>> +(define-public libgd
>> +  (package
>> +(name "libgd")
>> +(version "2.2.5")
>> +(source (origin
>> +  (method git-fetch)
>> +  (uri (git-reference
>> +(url "https://github.com/libgd/libgd.git;)
>
> This library is already available as ‘gd’ in (gnu packages gd).  :-)

Oh. OK. I reverted my patch.

But, isn't the project's name libgd?

Regards,

-- 
Nicolas Goaziou



Difference between Scintilla's license and ISC

2019-06-19 Thread Nicolas Goaziou
Hello,

In bug#36043 (<https://issues.guix.info/issue/36043>), we discuss an
issue about the license used in Scintilla. More specifically, the
question is: 

  Does Scintilla desserve its own license in license.scm, or should it
use ISC?

For the record, the Scintilla license is:

License for Scintilla and SciTE

Copyright 1998-2002 by Neil Hodgson 

All Rights Reserved 

Permission to use, copy, modify, and distribute this software and
its documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and
that both that copyright notice and this permission notice appear in
supporting documentation.

NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

and the ISC license is:

License text

Copyright  

Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted, provided that the
above copyright notice and this permission notice appear in all
copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

WDYT?

Regards,

-- 
Nicolas Goaziou



Re: Packaging Sagemath

2019-06-18 Thread Nicolas Goaziou
Hello,

Andreas Enge  writes:

> My personal goal is to get closer to having Sage in Guix. 

Very nice!

> But there is also a list of (altogether 181!) required dependencies,
> which I extracted here: https://hackmd.io/zatG6NwtTWKF5asn_fmcIw?view

I followed the link, but, IIUC, it is not up-to-date. For example, we
already have packaged many of them. Would it be useful to set-up
a world-writable document (e.g., a pad) somewhere, with a list of the
packages yet to be packaged, or a checklist with all packages that we
could tick-off?

For example, here is such an up-to-date list, barring a few FIXME
I wasn't sure about:

- [ ] appnope
- [X] arb
- [X] babel
- [X] backports_abc
- [X] backports_functools_lru_cache
- [X] backports_shutil_get_terminal_size
- [X] backports_ssl_match_hostname
- [X] bleach
- [ ] brial
- [X] bzip2
- [X] cddlib
- [X] certifi
- [ ] combinatorial_designs
- [X] configparser
- [ ] conway_polynomials
- [X] curl
- [X] cvxopt
- [X] cycler
- [X] dateutil
- [X] decorator
- [X] docutils
- [ ] eclib
- [X] ecm
- [ ] elliptic_curves
- [X] entrypoints
- [X] enum34
- [ ] fflas_ffpack
- [ ] flask_autoindex
- [X] flask_babel
- [ ] flask_oldsessions
- [ ] flask_openid
- [ ] flask_silk
- [X] flask
- [ ] flintqs
- [ ] fplll FIXME: available in version 4, so what?
- [ ] fpylll
- [X] freetype
- [X] functools32
- [X] future
- [ ] gf2x
- [ ] gfan
- [X] giac
- [X] git
- [ ] givaro (next missing, in the works)
- [ ] graphs
- [X] html5lib
- [X] iconv
- [X] imagesize
- [ ] iml FIXME: imlib2?
- [X] ipaddress
- [X] ipykernel
- [X] ipython_genutils
- [X] ipython
- [X] ipywidgets
- [X] itsdangerous
- [X] jinja2
- [ ] jmol
- [X] jsonschema
- [X] jupyter_client
- [X] jupyter_core
- [X] kiwisolver
- [ ] lcalc
- [X] libatomic_ops
- [ ] libgd FIXME: libgdata?
- [X] libpng
- [ ] linbox
- [ ] lrcalc
- [ ] m4rie
- [ ] m4ri
- [X] markupsafe
- [X] mathjax
- [X] matplotlib
- [X] maxima
- [X] mistune
- [X] mpfi
- [X] mpmath
- [X] nauty
- [X] nbconvert
- [X] nbformat
- [X] ncurses
- [X] networkx
- [X] notebook
- [X] openblas
- [X] packaging
- [ ] palp
- [ ] pandocfilters
- [ ] pari_galdata
- [ ] pari_seadata_small
- [X] patch
- [X] pathlib2
- [X] pathpy
- [X] pcre
- [X] pexpect
- [X] pickleshare
- [X] pillow
- [X] pip
- [X] pkgconfig
- [ ] pkgconf
- [ ] polytopes_db
- [ ] ppl
- [X] prometheus_client
- [X] prompt_toolkit
- [X] psutil
- [X] ptyprocess
- [ ] pycygwin
- [X] pygments
- [ ] pynac FIXME: pynacl?
- [X] pyparsing
- [X] python_openid
- [X] pytz
- [X] pyzmq
- [ ] ratpoints
- [X] readline
- [X] requests
- [X] rpy2
- [X] r
- [ ] rubiks
- [ ] sagenb_export
- [ ] sagenb
- [ ] sagetex
- [X] scandir
- [X] scipy
- [X] send2trash
- [X] setuptools_scm
- [X] setuptools
- [X] simplegeneric
- [X] singledispatch
- [X] snowballstemmer
- [ ] speaklater
- [X] sphinxcontrib_websupport
- [X] sphinx
- [X] sqlite
- [X] subprocess32
- [ ] symmetrica
- [ ] sympow
- [X] sympy
- [ ] tachyon
- [X] terminado
- [X] testpath
- [ ] thebe
- [ ] threejs FIXME: r-threejs?
- [X] tornado
- [X] traitlets
- [X] twisted
- [X] typing
- [X] vcversioner
- [X] wcwidth
- [X] webencodings
- [X] werkzeug
- [X] widgetsnbextension
- [X] xz
- [X] yasm
- [X] zeromq
- [X] zlib
- [ ] zn_poly
- [X] zope_interface

> So sooner or later we will need all of these packages, and if you feel
> motivated to package one or the other we do not have yet, you are more
> than welcome!

I'll try to help when I have time.

Regards,

-- 
Nicolas Goaziou



Re: Add helper for .desktop file creation?

2019-05-27 Thread Nicolas Goaziou
Pierre Neidhardt  writes:

> Could work, I'll see what I can do.

Great! Thank you.

> But first I'd like to know how to actually add this to Guix! :)
> Rebuild the world on core-updates or is there another way?

I'll let experts answer this :)

> I could be misunderstanding you.  

No, it's a misconception of mine. Sorry for the noise.



Re: Add helper for .desktop file creation?

2019-05-27 Thread Nicolas Goaziou
Pierre Neidhardt  writes:

> Nope, the current function only forces "Type" (the only mandatory
> field), everything else is omitted unless the key is explicitly set by
> the user.  This is because I looped over ALL-ARGS (the #:rest argument)
> and I force-added #:type to it.

Oh, true. I stand corrected.

> I did not implement the full specs simply because I decided to draw an
> arbitrary line between short code, convenience and completeness.  This
> is debatable of course and maybe a simple type-checking would not cost
> much.

I was thinking about a match against key before (match value ...), which
would then match value against a chosen predicate, and return an error
if it doesn't match.

- If key is either :no-display, :hidden, :d-bus-activatable, :terminal,
  or :startup-notify, predicate should be `boolean?'.

- If it is :type, :version, :try-exec, :exec, :path, :startup-wm-class,
  or :url, it should be `string?`.

- If it
  is :only-show-in, :not-show-in, :actions, :mime-type, :categories, 
:implements,
  it should be a string or a list of strings only.

- If it is :name, :generic-name, :comment, :icon, :keywords, it should
  be a a string or an alist.

- If key is anything else, it should be an error, because it is a typo.

I realize that we don't need numbers actually.

> Supporting the full specs would require a significant amount of work
> however.

Possibly, but we do not need more than this simple value type checking.

>> The docstring may explain that, e.g., compound :mime-type key becomes
>> MimeType.
>
> Hmm, OK but why?  The procedure produces the expected behaviour with
> #:mime-type, is there anything else to clarify?

As a packager, I need to know what key is going to produce
StartupWMClass (note that :startup-wm-class produces, StartupWmClass, if
that matters), or DBusActivatable. Unless I'm missing something, it is
not obvious from the docstring.

WDYT?



Re: Add helper for .desktop file creation?

2019-05-27 Thread Nicolas Goaziou
Hello,

Pierre Neidhardt  writes:

> I came up with the following function, it seems to work well (need to
> test a little more though).
>
> Before I could submit a patch, I was wondering where I should place it:
> it seems that placing it in guix/utils.scm triggers a whole world
> rebuild.
>
> Is there a way around it or should I send this patch to core-updates?

Not what you're asking for, but I had a few comments about the
implementation:

> --8<---cut here---start->8---
> (define* (make-desktop-entry-file destination #:key
>   (type "Application") ; One of 
> "Application", "Link" or "Directory".
>   (version "1.1")
>   name
>   (generic-name name)
>   (no-display #f)

What about only providing default values only for mandatory keys, i.e.,
only "type" (name is also mandatory, but it has no default value).
I think the function currently adds entries that are not necessary.

>   (define* (parse key value #:optional locale)
> (set! value (match value
>   (#t "true")
>   (#f "false")
>   ((?  number? n) n)
>   ((?  string? s) (escape-semicolon s))
>   ((?  list? value)
>(catch 'wrong-type-arg
>  (lambda () (string-join (map escape-semicolon value) 
> ";"))
>  (lambda args (error "List arguments can only contain 
> strings: ~a" args
>   (_ (error "Value must be a boolean, number, string or list 
> of strings"
> (format #t "~a=~a~%"
> (if locale
> (format #f "~a[~a]" key locale)
> key)
> value))

I wonder if it wouldn't be better to stick to the specification. For
example :comment expects a string, or an alist: shouldn't the function
return an error if its value is something else?

It requires us to hard-code the allow value types in the function, but
Not every packager knows these specifications, and it could help them
a bit. Also, we can limit keys to allowed ones, for increased typo
checking.

>(set! key
>  (string-join (map string-titlecase
>(string-split (symbol->string
>   (keyword->symbol key))
>  #\-))
>   ""))

The docstring may explain that, e.g., compound :mime-type key becomes
MimeType.

In any case, it looks nice and useful.

Regards,

-- 
Nicolas Goaziou



Re: Add helper for .desktop file creation?

2019-05-25 Thread Nicolas Goaziou
Nicolas Goaziou  writes:

> - string, boolean, numeric : string, possibly with a check for boolean
>   (throw an error if not "true" or "false"),

or simply:

- boolean : #t, #f
- numeric : number
- string : string




Re: Add helper for .desktop file creation?

2019-05-25 Thread Nicolas Goaziou
Pierre Neidhardt  writes:

> You are absolutely right, my initial implementation is not ready for
> merge, but it's already useful as a proof of concept.

Certainly. Also, it is a step in the right direction.

> Would you happen to know where this is implemented in Nix?



It is very straightforward, actually. There is not much to borrow.

> Or... I'm thinking we could do even better: use #:allow-other-keys then
> generate the entry from the key symbol (e.g. #:categories would generate
> "Categories").  This way the function would not have to hard-code the
> keys.

Making typos would be easier, then. I'd rather have a more limited, yet
more robust, function. I.e., I think it is better to stick to standard
keys. Otherwise, it adds little over current solution.

> Regarding your point on the string vs. list values, I suggest we accept
> both for all arguments and we string-join the lists.

If we go the "limited" route, we should also pay attention to expected
value types, i.e., only accept list of strings for entries with
"string(s)" values. Semicolons would need to be escaped when a list of
strings is allowed, too. 

In a nutshell, my suggestion would be:

- string, boolean, numeric : string, possibly with a check for boolean
  (throw an error if not "true" or "false"),

- string(s) : string, or list of strings, semicolons are escaped
  automatically,

- localestring : alist with "lang" as keys and strings as values, with
  a default key (possibly #f), or a plain string if there is only the
  default key.

This is more work than on the #:allow-other-keys options, but I think it
would make for a better tool.

WDYT?



Re: Add helper for .desktop file creation?

2019-05-25 Thread Nicolas Goaziou
Nicolas Goaziou  writes:

>> (display
>>  (string-append
>>   "[Desktop Entry]" "\n"
>>   "Encoding=" encoding "\n"

Also, "Encoding" is deprecated. It may be worth using `maybe-print' for
this one.




Re: Add helper for .desktop file creation?

2019-05-25 Thread Nicolas Goaziou
Hello,

Pierre Neidhardt  writes:

> Quite a bunch of packages need to provide their own .desktop since
> upstream does not provide them.  It's very evident in games.scm in
> particular.

Interestingly, I had the same itch recently.

> It seems to be a good opportunity to factor this out.  What about the
> following?
>
> --8<---cut here---start->8---
> (define* (make-desktop-file destination #:key
> (encoding "UTF-8")
> name
> (generic-name name)
> comment
> exec
> icon
> (startup-notify "true")
> (terminal "false")
> (type "Application")
> (categories "Application"))
>   "Create a desktop file at DESTINATION for executable EXEC with name NAME.
> Other arguments are optional."
>   (let ((maybe-print (lambda (key value)
>(if value
>(string-append key "=" value "\n")
>""
> (mkdir-p (dirname destination))
> (with-output-to-file destination
>   (lambda _
> (display
>  (string-append
>   "[Desktop Entry]" "\n"
>   "Encoding=" encoding "\n"
>   "Name=" name "\n"
>   "GenericName=" generic-name "\n"
>   (maybe-print "Comment" comment)
>   "Exec=" exec "\n"
>   (maybe-print "Icon" icon)
>   "StartupNotify=" startup-notify "\n"
>   "Terminal=" terminal "\n"
>   "Type=" type "\n"
>   "Categories=" categories "\n"))
> --8<---cut here---end--->8---

It looks interesting. I have a couple of suggestions, if you don't mind:
- some items are missing, e.g., "Keywords". 

  As you may know, you can have a look at
  <https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-
  spec-latest.html> for a full list.

- some items you use a list of strings instead of a string (e.g.,
  "Keywords", "Categories"),

- it would be nice to handle localized values for keys. For example
  `drascula' package uses "Comment[fr]". It could possibly be
  implemented with an alist as the value.

I know Nix provides such a function, but I haven't looked at its
implementation yet.

Regards,

-- 
Nicolas Goaziou



Re: 01/01: gnu: Add missing modules in games.scm.

2019-04-30 Thread Nicolas Goaziou
Hello,

Ludovic Courtès  writes:

>> commit 1abe2e2a2916a230984a9a2be25eb0f6a78fd2f8
>> Author: Nicolas Goaziou 
>> Date:   Mon Apr 29 14:56:32 2019 +0200
>>
>> gnu: Add missing modules in games.scm.
>
> The assist the reader ;-), I think it’s good to add a comment such as
> “This is a followup to commit XYZ.”

OK.

>> --- a/gnu/packages/games.scm
>> +++ b/gnu/packages/games.scm
>> @@ -105,6 +105,8 @@
>>#:use-module (gnu packages gstreamer)
>>#:use-module (gnu packages gtk)
>>#:use-module (gnu packages guile)
>> +  #:use-module (gnu packages haskell)
>> +  #:use-module (gnu packages haskell-crypto)
>
> A while back I moved Haskell games (and more) to haskell-apps.scm.  The
> idea was that we could avoid loading all of Haskell when we’re not
> looking for anything related to Haskell.
>
> Would it make sense for you to move the Haskell games there?

This game is written in C++. The Haskell modules are required for the
Pascal to C translator, which is used during the build, as explained in
the comments. Since the Haskell code represents only a very tiny part of
the code base, moving the whole package to haskell-apps.scm may be
confusing.

WDYT?

Regards,

-- 
Nicolas Goaziou



Re: Matrix & Nheko Packaging

2019-01-25 Thread Nicolas Goaziou
Hello,

Maxim Cournoyer  writes:

> It's already packaged in Guix as emacs-matrix-client, no?
>
> I tried it myself before, but it was not performing well (it was very
> slow).

"matrix-client" is already packaged, indeed. 

Unfortunately, at the moment, there are some hiccups with the build
process, and the library is not usable without a tweak. I sent a fix
upstream a few days ago, and I'm now waiting for them to apply it. If it
takes too long, I will simply patch it in the package definition.

> I ended up using a Weechat relay + SSH connection, which works very well for 
> my needs.

There is another Matrix client for Emacs, Maelstrom[1]. I didn't test
nor package it yet, but it would be good to look into it.

Regards,

Footnotes: 
[1]  <http://git.savannah.nongnu.org/cgit/maelstrom-el.git/>.

-- 
Nicolas Goaziou



Re: 01/01: gnu: Add rclone.

2018-11-28 Thread Nicolas Goaziou
Hello,

Mark H Weaver  writes:

> Did you test this?

Yes, of course I tested it. I was using it for my own needs before
sending the patch for review. I obviously fumbled somehow when I sent
the mail, but I still do not get when or why.

> There's a syntax error in the code, such that it not only fails to
> build, but it fails even to produce a _derivation_ describing the build.
> Unfortunately, this kind of error in any package causes problems for our
> build farm, which currently assumes that this kind of error will not
> occur.  Such errors not only cause the individual build to fail, but
> moreover for the entire process that generates a new CI "evaluation" to
> fail, which effectively prevents subsequent package updates on that
> branch from being built until the problem is corrected.

I suggest to add a check, if possible, for that kind of mistake — e.g.,
check if `arguments' value is a valid property list — because forgetting
a line in a leaf package should not cause the whole build farm to die.

> I reverted this commit.

OK. I'll fix the commit.

> Please be careful when pushing to master.

I sincerely hope you're not suggesting I'm not careful when I send
a patch or push it to master. You must know carefulness is not strictly
equivalent to perfectness. Not quite.

Thank you for fixing my mistake.

Regards,

-- 
Nicolas Goaziou



Re: 01/01: gnu: snap: Update to 4.2.2.2.

2018-10-24 Thread Nicolas Goaziou
Hello,

Mark H Weaver  writes:

> According to 'git' on my machine, this commit is signed with GnuPG key
> ED0EF1C8E126BA831B485FE9DA00B4F048E92F2D, which is different from the
> key that you uploaded to Savannah (A834B9E080A93738).

Oops!

> Can you please verify that ED0EF1C8E126BA831B485FE9DA00B4F048E92F2D is
> your key

It is.

> and if so, can you please upload it to Savannah?

I think it is now done. Please let me know if something is wrong.

Thank you.

Regards,

-- 
Nicolas Goaziou



Re: 01/01: gnu: mame: Update to 0.200.

2018-08-11 Thread Nicolas Goaziou
Hello,

Tobias Geerinckx-Rice  writes:

> D'oh. I just reported the same bug[0] and was just about to push the
> same fix. :-)

Heh.

The upstream fix landed here:
<https://github.com/mamedev/mame/commit/e84cae7fc6ecd1c8dd2de16c5a2a6469b04ff6ed>

BTW, if you intend to take care about future mame updates -- in addition
to the truckload of packages you already keep up-to-date! --, please let
me know, I'll happily drop it from my watch list. We could then avoid
duplicating efforts.

> (SUBSTITUTE* can take a list o' files, by the way, so you don't need
> to call it twice.)

True, but it means that in each file, one regexp is not matching. I find
it confusing. I guess I'm bike-shedding now. Feel free to refactor it
the way you want. :)

Regards,

-- 
Nicolas Goaziou0x80A93738



Re: Preferred blog format - Markdown or SXML?

2018-04-25 Thread Nicolas Goaziou
Hello,

"Thompson, David" <dthomps...@worcester.edu> writes:

> If anyone writes an org-mode parser in Guile, let me know and I'll add
> support for it in Haunt. I wouldn't even know where to begin with
> trying to parse org files. :)

You would probably start here ;)

  https://orgmode.org/worg/dev/org-syntax.html

Regards,

-- 
Nicolas Goaziou0x80A93738



Re: 01/01: gnu: emacs-org, emacs-org-contrib: Update to 9.1.9.

2018-03-31 Thread Nicolas Goaziou
Hello,

Christopher Baines <m...@cbaines.net> writes:

> I'm having some trouble with emacs-org-contrib after this change. Do you
> still get the same sha256 hash for the source?

Indeed. Odd. This should now be fixed. Thank you.

Regards,

-- 
Nicolas Goaziou0x80A93738



Re: [shepherd] 01/02: nls: Add fr translation.

2018-03-02 Thread Nicolas Goaziou
Hello,

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

> +#: modules/shepherd/scripts/herd.scm:82
> +#, scheme-format
> +msgid "Status of ~a:~%"
> +msgstr "Status de ~a :~%"

"Statut de ~a :~%"

Regards,

-- 
Nicolas Goaziou0x80A93738



Re: 01/01: gnu: solfege: Make configuration more robust to GC

2018-02-05 Thread Nicolas Goaziou
Hello,

Mark H Weaver <m...@netris.org> writes:

>> +   (("/usr/bin/aplay" "aplay"))
>
> In the line above, one of the right parentheses is misplaced.  It should
> be like this:
>
>> +   (("/usr/bin/aplay") "aplay")
>
> I guess that maybe you made some changes after your last test?
> Can you fix it please?

Fixed. Thank you!

Regards,

-- 
Nicolas Goaziou0x80A93738



[PATCH] Update giac-xcas

2017-01-31 Thread Nicolas Goaziou
Hello,

Here is a patch updating giac-xcas to 1.2.3-19.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 5adc29c2b271de492d8f9f5280368b27e6a477bb Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Tue, 31 Jan 2017 23:50:26 +0100
Subject: [PATCH] gnu: giac-xcas: Update to 1.2.3-19.

* gnu/packages/algebra.scm (giac-xcas): Update to 1.2.3-19.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index b859da0e7..544b62a1d 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -202,7 +202,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-103")
+(version "1.2.3-19")
 (source (origin
   (method url-fetch)
   ;; "~parisse/giac" is not used because the maintainer regularly
@@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
   "source/giac_" version ".tar.gz"))
   (sha256
(base32
-"1qrhjw2sdvyv2x8fqs9isqv8rgldn448gfxbi7zbva8m5va5b3z1"
+"0asynsj0xcfdjn0vkyxdgdy3hfpr6gc9f92xxa1rmn7clbqmlk1y"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
-- 
2.11.0



[PATCH] Update emacs-org

2017-01-28 Thread Nicolas Goaziou
Hello,

Here is a patch updating Emacs Org mode.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 5edb2b90433f439c5102a2ed59ef7463c3ae64f3 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sat, 28 Jan 2017 23:02:47 +0100
Subject: [PATCH] gnu: emacs-org: Update to 20170124.

* gnu/packages/emacs.scm (emacs-org): Update to 20170124.
---
 gnu/packages/emacs.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 21092f32c..df7f7869d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2016 Roel Janssen <r...@gnu.org>
 ;;; Copyright © 2016, 2017 ng0 <contact@cryptolab.net>
 ;;; Copyright © 2016 Alex Griffin <a...@ajgrf.com>
-;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;; Copyright © 2016 Alex Vong <alexvong1...@gmail.com>
 ;;; Copyright © 2016 Arun Isaac <arunis...@systemreboot.net>
 ;;; Copyright © 2017 Christopher Baines <m...@cbaines.net>
@@ -3398,14 +3398,14 @@ passive voice.")
 (define-public emacs-org
   (package
 (name "emacs-org")
-(version "20161224")
+(version "20170124")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://elpa.gnu.org/packages/org-;
   version ".tar"))
   (sha256
(base32
-"0b10bjypn0w5ja776f8sxl1qpvb61iyz1n3c74jx6fqwypv7dmgi"
+"0mcnjwvily0xv1xl11dj18lg38llvrxja2j9mwn6vql8n5y1srxi"
 (build-system emacs-build-system)
 (home-page "http://orgmode.org/;)
 (synopsis "Outline-based notes management and organizer")
-- 
2.11.0



[PATCH] wireshark: Update to 2.2.3.

2016-12-27 Thread Nicolas Goaziou
Hello,

Here is an update for Wireshark.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 32309390555fcd2ad5600e36b60c91e37b390086 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Tue, 27 Dec 2016 09:54:28 +0100
Subject: [PATCH] gnu: wireshark: Update to 2.2.3.

* gnu/packages/networking.scm (wireshark): Update to 2.2.3.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 2a5ff09b1..9e2e63298 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -467,7 +467,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
 (define-public wireshark
   (package
 (name "wireshark")
-(version "2.2.2")
+(version "2.2.3")
 (synopsis "Network traffic analyzer")
 (source
  (origin
@@ -476,7 +476,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
version ".tar.bz2"))
(sha256
 (base32
- "1csm035ayfzn1xzzsmzcjk2ixx39d70aykr4nh0a88chk9gfzb7r"
+ "0fsrvl6sp772g2q2j24h10h9lfda6q67x7wahjjm8849i2gciflp"
 (build-system glib-or-gtk-build-system)
 (inputs `(("bison" ,bison)
   ("c-ares" ,c-ares)
-- 
2.11.0



[PATCH] Update emacs-org to 20161224

2016-12-27 Thread Nicolas Goaziou
Hello,

Here is an update for the latest Org release.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 3f8e270adc0024756f29fefe38f2f8afa0ce7c70 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Tue, 27 Dec 2016 09:46:16 +0100
Subject: [PATCH] gnu: emacs-org: Update to 20161224.

* gnu/packages/emacs.scm (emacs-org): Update to 20161224.
---
 gnu/packages/emacs.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 0184996b2..5b6b9900a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3266,14 +3266,14 @@ passive voice.")
 (define-public emacs-org
   (package
 (name "emacs-org")
-(version "20161214")
+(version "20161224")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://elpa.gnu.org/packages/org-;
   version ".tar"))
   (sha256
(base32
-"0pa9d0l6axif5wlzi7lvxl0fpjwwvc79cy9d37z7md4hxyjdvwzm"
+"0b10bjypn0w5ja776f8sxl1qpvb61iyz1n3c74jx6fqwypv7dmgi"
 (build-system emacs-build-system)
 (home-page "http://orgmode.org/;)
 (synopsis "Outline-based notes management and organizer")
-- 
2.11.0



[PATCH] Update emacs-org.

2016-12-17 Thread Nicolas Goaziou
Hello,

The following patch updates emacs-org to its latest version.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From fef548e5b623fd182d3ea0acdb705b38fdf6d5d3 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sat, 17 Dec 2016 23:29:09 +0100
Subject: [PATCH] gnu: emacs-org: Update to 20161214.

* gnu/packages/emacs.scm (emacs-org): Update to 20161214.
---
 gnu/packages/emacs.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index eea20d0..547c440 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3266,14 +3266,14 @@ passive voice.")
 (define-public emacs-org
   (package
 (name "emacs-org")
-(version "20161118")
+(version "20161214")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://elpa.gnu.org/packages/org-;
   version ".tar"))
   (sha256
(base32
-"1w9g8r08kaiw9f4fjsj0hbffzq85rj734j5lxvbaafbnz7dbklk1"
+"0pa9d0l6axif5wlzi7lvxl0fpjwwvc79cy9d37z7md4hxyjdvwzm"
 (build-system emacs-build-system)
 (home-page "http://orgmode.org/;)
 (synopsis "Outline-based notes management and organizer")
-- 
2.10.1



Re: [PATCH] Update emacs-org to 20161118

2016-11-21 Thread Nicolas Goaziou
Hello,

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

> Nicolas Goaziou <m...@nicolasgoaziou.fr> skribis:
>
>> Here is a patch updating Org to its latest revision.
>
> Speaking of which ;-), any idea why ox-bibtex.el is still in “contrib”?
> I was surprised to see it’s not installed as part of Org.

AFAICT, "ox-bibtex.el" is really a hack. I don't think it is meant to be
a core part of Org.

Org is still looking for a proper citation environment. There is some
work in progress in that area. See, e.g.,
<http://permalink.gmane.org/gmane.emacs.orgmode/110385>. Unfortunately,
it moves slowly.


Regards,

-- 
Nicolas Goaziou0x80A93738



Re: [PATCH] Update lilypond to 2.19.50

2016-11-20 Thread Nicolas Goaziou
Hello,

Marius Bakke <mba...@fastmail.com> writes:

> Thanks for this! It seems they released 2.19.51 today, can you send a
> patch for that instead? :-)

Here it is.

> Perhaps we should switch to the stable branch when 2.20.x is out.

Fine by me.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 75932bedeaa03ef2ce66b9a69e2061abef1fc6cc Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sun, 20 Nov 2016 15:52:36 +0100
Subject: [PATCH] gnu: lilypond: Update to 2.19.51.

* gnu/packages/music.scm (lilypond): Update to 2.19.51.
---
 gnu/packages/music.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 4ec6d6e..b32b084 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -504,7 +504,7 @@ interface.  It is implemented as a frontend to @code{klick}.")
 (define-public lilypond
   (package
 (name "lilypond")
-(version "2.19.33")
+(version "2.19.51")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -513,7 +513,7 @@ interface.  It is implemented as a frontend to @code{klick}.")
 name "-" version ".tar.gz"))
   (sha256
(base32
-"0s4vbbfy4xwq4da4kmlnndalmcyx2jaz7y8praah2146qbnr90xh"
+"1b4jvc0fixbnp8x457fzk5wgb4zd03npwwivp60kc27fmv63w5l1"
 (build-system gnu-build-system)
 (arguments
  `(#:tests? #f ; out-test/collated-files.html fails
-- 
2.10.1



[PATCH] Update lilypond to 2.19.50

2016-11-20 Thread Nicolas Goaziou
Hello,

The following patch updates lilypond to 2.19.50.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 239fa264e7e3387ee34039684fff8747900773c3 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sun, 20 Nov 2016 09:52:52 +0100
Subject: [PATCH] gnu: lilypond: Update to 2.19.50

* gnu/packages/music.scm (lilypond): Update to 2.19.50.
---
 gnu/packages/music.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 4ec6d6e..11dd00a 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -504,7 +504,7 @@ interface.  It is implemented as a frontend to @code{klick}.")
 (define-public lilypond
   (package
 (name "lilypond")
-(version "2.19.33")
+(version "2.19.50")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -513,7 +513,7 @@ interface.  It is implemented as a frontend to @code{klick}.")
 name "-" version ".tar.gz"))
   (sha256
(base32
-"0s4vbbfy4xwq4da4kmlnndalmcyx2jaz7y8praah2146qbnr90xh"
+"1csf49bj3szr5n0nylgm347mg8f69lb5nzwi1mw2ql9rmjgx16hn"
 (build-system gnu-build-system)
 (arguments
  `(#:tests? #f ; out-test/collated-files.html fails
-- 
2.10.1



[PATCH] Update wireshark to 2.2.2.

2016-11-18 Thread Nicolas Goaziou
Hello,

The following patch updates wireshark to 2.2.2.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From ea3d5f720e0fd040e19e6987b79100f94f53f371 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sat, 19 Nov 2016 08:35:45 +0100
Subject: [PATCH] gnu: wireshark: Update to 2.2.2.

* gnu/packages/networking.scm (wireshark): Update to 2.2.2.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f19cebe..d8bbc6e 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -467,7 +467,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
 (define-public wireshark
   (package
 (name "wireshark")
-(version "2.2.1")
+(version "2.2.2")
 (synopsis "Network traffic analyzer")
 (source
  (origin
@@ -476,7 +476,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
version ".tar.bz2"))
(sha256
 (base32
- "0jciaqz119vmznd8mi4gq5dgwz7vn453cnm2086mxcy80jpj43lh"
+ "1csm035ayfzn1xzzsmzcjk2ixx39d70aykr4nh0a88chk9gfzb7r"
 (build-system glib-or-gtk-build-system)
 (inputs `(("bison" ,bison)
   ("c-ares" ,c-ares)
-- 
2.10.1



[PATCH] Update giac-xcas to 1.2.2-103

2016-11-18 Thread Nicolas Goaziou
Hello,

The following patch updates giac-xcas to 1.2.2-103.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 4676678e74a5580c2271383544f4b126e256485a Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sat, 19 Nov 2016 08:32:33 +0100
Subject: [PATCH] gnu: giac-xcas: Update to 1.2.2-103

* gnu/packages/algebra.scm (giac-xcas): Update to 1.2.2-103.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 8e9695d..76f385e 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -202,7 +202,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-95")
+(version "1.2.2-103")
 (source (origin
   (method url-fetch)
   ;; "~parisse/giac" is not used because the maintainer regularly
@@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
   "source/giac_" version ".tar.gz"))
   (sha256
(base32
-"1zyaz5pgj7w6ka4qxic4kmbcqcikpn8ry3jvhi2kd72hwa0v65y2"
+"1qrhjw2sdvyv2x8fqs9isqv8rgldn448gfxbi7zbva8m5va5b3z1"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
-- 
2.10.1



[PATCH] Update emacs-org to 20161118

2016-11-18 Thread Nicolas Goaziou
Hello,

Here is a patch updating Org to its latest revision.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 28e2205c2170abb6887c059a5fc89f279028ab5c Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Fri, 18 Nov 2016 23:36:26 +0100
Subject: [PATCH] gnu: emacs-org: Update to 20161118.

* gnu/packages/emacs.scm (emacs-org): Update to 20161118.
---
 gnu/packages/emacs.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7666e2f..04c977f 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3197,14 +3197,14 @@ passive voice.")
 (define-public emacs-org
   (package
 (name "emacs-org")
-(version "20161102")
+(version "20161118")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://elpa.gnu.org/packages/org-;
   version ".tar"))
   (sha256
(base32
-"12v9jhakdxcmlw9zrcrh1fwi3kh6z0qva90hpnr0zjqyj72i0wir"
+"1w9g8r08kaiw9f4fjsj0hbffzq85rj734j5lxvbaafbnz7dbklk1"
 (build-system emacs-build-system)
 (home-page "http://orgmode.org/;)
 (synopsis "Outline-based notes management and organizer")
-- 
2.10.1



Update giac-xcas and wireshark

2016-10-20 Thread Nicolas Goaziou
Hello,

Here are updates for Giac-Xcas and Wireshark.

Regards,
-- 
Nicolas Goaziou0x80A93738
>From c26e7cb826ee2e232743c7e021bbe99d404b82e6 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Wed, 19 Oct 2016 23:52:57 +0200
Subject: [PATCH 1/2] gnu: giac-xcas: Update to 1.2.2-95.

* gnu/packages/algebra.scm (giac-xcas): Update to 1.2.2-95.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 9e19d55..339db6e 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -202,7 +202,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-81")
+(version "1.2.2-95")
 (source (origin
   (method url-fetch)
   ;; "~parisse/giac" is not used because the maintainer regularly
@@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
   "source/giac_" version ".tar.gz"))
   (sha256
(base32
-"0jwlx8b97zkly9gcbdfbj4mzyn21dbg1kgpw7j7vqs380jryzgfs"
+"1zyaz5pgj7w6ka4qxic4kmbcqcikpn8ry3jvhi2kd72hwa0v65y2"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
-- 
2.10.1

>From 1293db095e38911ab46139caf65d4e97a1a9235f Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Thu, 20 Oct 2016 00:05:40 +0200
Subject: [PATCH 2/2] gnu: wireshark: Update to 2.2.1.

* gnu/packages/networking.scm (wireshark): Update to 2.2.1.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index da92379..52bd0c4 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -427,7 +427,7 @@ and up to 1 Mbit/s downstream.")
 (define-public wireshark
   (package
 (name "wireshark")
-(version "2.2.0")
+(version "2.2.1")
 (synopsis "Network traffic analyzer")
 (source
  (origin
@@ -436,7 +436,7 @@ and up to 1 Mbit/s downstream.")
version ".tar.bz2"))
(sha256
 (base32
- "010i7wpsv2231pwb1xdqs0xfwywi3514siidv6wnrfpw3rs7x156"
+ "0jciaqz119vmznd8mi4gq5dgwz7vn453cnm2086mxcy80jpj43lh"
 (build-system glib-or-gtk-build-system)
 (inputs `(("bison" ,bison)
   ("c-ares" ,c-ares)
-- 
2.10.1



Re: [PATCH] Update giac-xcas

2016-09-21 Thread Nicolas Goaziou
Hello,

Leo Famulari <l...@famulari.name> writes:

> Unfortunately, the TLS certificate for
> <https://www-fourier.ujf-grenoble.fr> has expired, so I'm unable to
> verify the hash of the new source code.

It looks like they renewed their certificate.

Regards,

-- 
Nicolas Goaziou0x80A93738



[PATCH] Update giac-xcas

2016-09-18 Thread Nicolas Goaziou
Hello,

Here is an update for Giac-Xcas.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From ac24482a404f03f08e8254b85729e9eb898aeb23 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sun, 18 Sep 2016 22:40:44 +0200
Subject: [PATCH] gnu: giac-xcas: Update to 1.2.2-81.

* gnu/packages/algebra.scm (giac-xcas): Update to 1.2.2-81.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 83f03a0..a499ab9 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -202,7 +202,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-75")
+(version "1.2.2-81")
 (source (origin
   (method url-fetch)
   ;; "~parisse/giac" is not used because the maintainer regularly
@@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
   "source/giac_" version ".tar.gz"))
   (sha256
(base32
-"0vs111fkd900wkm7yypaxmplc8i8j63d9shc3fbdhddn7cdj70b1"
+"0jwlx8b97zkly9gcbdfbj4mzyn21dbg1kgpw7j7vqs380jryzgfs"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
-- 
2.9.3



[PATCH] Update wireshark to 2.2.0

2016-09-18 Thread Nicolas Goaziou
Hello,

Here is an update for wireshark.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 6bb2296d6629000fb34c87b9e4111f3cc8569fc3 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sun, 18 Sep 2016 22:26:14 +0200
Subject: [PATCH] gnu: wireshark: Update to 2.2.0.

* gnu/packages/networking.scm (wireshark): Update to 2.2.0.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 47aa2b9..6010e86 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -423,7 +423,7 @@ and up to 1 Mbit/s downstream.")
 (define-public wireshark
   (package
 (name "wireshark")
-(version "2.0.5")
+(version "2.2.0")
 (synopsis "Network traffic analyzer")
 (source
  (origin
@@ -432,7 +432,7 @@ and up to 1 Mbit/s downstream.")
version ".tar.bz2"))
(sha256
 (base32
- "02xi3fz8blcz9cf75rs11g7bijk06wm45vpgnksp72c2609j9q0c"
+ "010i7wpsv2231pwb1xdqs0xfwywi3514siidv6wnrfpw3rs7x156"
 (build-system glib-or-gtk-build-system)
 (inputs `(("bison" ,bison)
   ("c-ares" ,c-ares)
-- 
2.9.3



[PATCH] Update emacs-org

2016-09-18 Thread Nicolas Goaziou
Hello,

Here is an update for Emacs Org mode.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 140de22b80815125bb14517c0060882c0d88c061 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sun, 18 Sep 2016 22:48:17 +0200
Subject: [PATCH] gnu: emacs-org: Update to 20160912

* gnu/packages/emacs.scm (emacs-org): Update to 20160912.
---
 gnu/packages/emacs.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index d8ffacd..e535259 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3017,14 +3017,14 @@ passive voice.")
 (define-public emacs-org
   (package
 (name "emacs-org")
-(version "20160815")
+(version "20160912")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://orgmode.org/elpa/org-;
   version ".tar"))
   (sha256
(base32
-"0k9pa13kpmpi6irmbavxffgqfanhjnijz4mkmmi0zp7kgjfbaliw"
+"1xawj0pdvqrgzlixxgbfa01gzajfaz47anr5m4aw035rhc6s02r7"
 (build-system emacs-build-system)
 (home-page "http://orgmode.org/;)
 (synopsis "Outline-based notes management and organizer")
-- 
2.9.3



Re: aseprite is now EULA licensed.

2016-09-03 Thread Nicolas Goaziou
Hello,

ng0 <n...@we.make.ritual.n0.is> writes:

> 2 days ago they changed from gpl-2 to eula. This could theoretically
> mean we can update to 1.1.7 and freeze it there (hoping that a
> compatible licensed fork appears or whatever will happen)?
>
> http://dev.aseprite.org/post/149797781837/new-source-code-license
> https://github.com/aseprite/aseprite/commit/5ecc356a41c8e29977f8608d8826489d24f5fa6c

I think the license change is a wrong way to solve the developer
problem.

Anyway, this raises an interesting question: would it make sense for
Guix to allow an optional `donate' keyword associated to a list of URLs
package definitions?

Regards,

-- 
Nicolas Goaziou0x80A93738



[PATCH] Add scratch

2016-09-02 Thread Nicolas Goaziou
Hello,

The following patch adds Scratch to the Guix packages.

There are some caveats:

- it is not the latest version of scratch (1.4 instead of 2.0) as this
  one required Adobe Air for the offline editor and Flash plugin online.

- it freezes when returning from fullscreen execution of a script. Note
  that the same happens with the Debian package, so there's probably
  little I can do.

- the installation merely copies Scratch.image, which is an image of the
  VM. It is not a binary blob. You can inspect and modify code from
  within the application. See
  <https://wiki.scratch.mit.edu/wiki/Scratch_1.4_Source_Code> for details.

- "/usr/share/scratch" directory is hard-coded. As a consequence Scratch
  cannot find translation files or artwork. You can still import artwork
  from the store directory but it is not a great out-of-the box
  experience.

  I notified the issue to the developers
  (https://github.com/LLK/Scratch_1.4/issues) but, considering other
  issues there are years old, I have little hope about it.

  If there's an idea on how to fake the "/usr/share/scratch" directory,
  I'm all ears.

Feedback welcome.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 19bd9de8cd1cd596703db5a92e18191d91762150 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Fri, 26 Aug 2016 12:32:23 +0200
Subject: [PATCH] gnu: education: Add scratch.

* gnu/packages/education.scm (scratch): New variable.

* gnu/packages/patches/scratch-desktopfile-semicolon.patch:
* gnu/packages/patches/scratch-use-squeak-plugins.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
---
 gnu/local.mk   |  2 +
 gnu/packages/education.scm | 98 +-
 .../patches/scratch-desktopfile-semicolon.patch|  8 ++
 .../patches/scratch-use-squeak-plugins.patch   | 18 
 4 files changed, 124 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/scratch-desktopfile-semicolon.patch
 create mode 100644 gnu/packages/patches/scratch-use-squeak-plugins.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index efb00b9..9b8c561 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -779,6 +779,8 @@ dist_patch_DATA =		\
   %D%/packages/patches/sed-hurd-path-max.patch			\
   %D%/packages/patches/scheme48-tests.patch			\
   %D%/packages/patches/scotch-test-threading.patch		\
+  %D%/packages/patches/scratch-desktop-semicolon.patch		\
+  %D%/packages/patches/scratch-use-squeak-plugins.patch		\
   %D%/packages/patches/sdl-libx11-1.6.patch			\
   %D%/packages/patches/serf-comment-style-fix.patch		\
   %D%/packages/patches/serf-deflate-buckets-test-fix.patch	\
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 14c1bac..f84ca52 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Danny Milosavljevic <dan...@scratchpost.org>
 ;;; Copyright © 2016 Ricardo Wurmus <rek...@elephly.net>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -18,7 +19,6 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages education)
-  #:use-module (ice-9 regex)
   #:use-module (gnu packages)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages compression)
@@ -31,6 +31,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages smalltalk)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages xml)
   #:use-module ((guix licenses) #:prefix license:)
@@ -38,9 +39,10 @@
   #:use-module (guix download)
   #:use-module (guix svn-download)
   #:use-module (guix utils)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
-  #:use-module (srfi srfi-1))
+  #:use-module (srfi srfi-26))
 
 (define-public stellarium
   (package
@@ -138,3 +140,95 @@ of categories with some of the activities available in that category.
 @end enumerate
 ")
 (license license:gpl3+)))
+
+(define-public scratch
+  (package
+(name "scratch")
+(version "1.4.0.7")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://download.scratch.mit.edu/;
+   "scratch-" version ".src.tar.gz"))
+   (sha256
+(base32
+ "0gka4acblxd3q0bc58pzjdr6k6fx6qww5vj724nvmwnfiqkqjkdr"))
+   (patches (search-patches
+ "scratch-desktopfile-semicolon.patch"
+ "scratch-use-squeak-plugins.patch"
+(inputs
+ `(("cairo" ,cairo)
+   ("pango" ,pan

Re: [PATCH] Add squeak-vm

2016-08-26 Thread Nicolas Goaziou
Correcting myself,

Nicolas Goaziou <m...@nicolasgoaziou.fr> writes:

> The following patches add squeak-vm.
>
> The build process is rather unusual since this is cmake with a configure
> script in a remote place. IOW, I couldn't build it with regular
> cmake-build-system and #:configure-flags.

Here is an update for the second patch. The 64bit VM is not necessary at
this point. If needed it could be built as another package inheriting
from this one.

>From 5d0d8f39c0d4ef1c857421da64e6bab2bc07d852 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Wed, 24 Aug 2016 22:58:44 +0200
Subject: [PATCH 2/2] gnu: Add squeak-vm

* gnu/packages/smalltalk.scm (squeak-vm): New variable.
---
 gnu/packages/smalltalk.scm | 64 ++
 1 file changed, 64 insertions(+)

diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index 42de69a..e44f543 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -22,11 +22,20 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libsigsegv)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages zip))
 
 (define-public smalltalk
@@ -65,3 +74,58 @@
 implements the ANSI standard for the language and also includes extra classes
 such as ones for networking and GUI programming.")
 (license license:gpl2+)))
+
+(define-public squeak-vm
+  (package
+(name "squeak-vm")
+(version "4.10.2.2614")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://www.squeakvm.org/unix/release/;
+   "Squeak-" version "-src.tar.gz"))
+   (sha256
+(base32
+ "0bpwbnpy2sb4gylchfx50sha70z36bwgdxraym4vrr93l8pd3dix"
+(native-inputs
+ `(("alsa-lib" ,alsa-lib)
+   ("dbus" ,dbus)
+   ("freetype" ,freetype)
+   ("libffi" ,libffi)
+   ("libiconv" ,libiconv)
+   ("libxrender" ,libxrender)
+   ("mesa" ,mesa)
+   ("pkg-config" ,pkg-config)
+   ("pulseaudio" ,pulseaudio)))
+(build-system cmake-build-system)
+(arguments
+ `(#:tests? #f  ;No check target
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'create-build-dir
+   (lambda _
+ (mkdir "bld")
+ #t))
+ (replace 'configure
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+   (with-directory-excursion "bld"
+ (zero?
+  (system* "../unix/cmake/configure"
+   (string-append "--prefix=" out)
+   "--without-quartz"))
+ (replace 'build
+   (lambda _
+ (with-directory-excursion "bld"
+   (zero? (system* "make"
+(synopsis "Implementation of the Smalltalk programming language
+and environment")
+(description "Squeak is a full-featured implementation of the
+Smalltalk programming language and environment based on (and largely
+compatible with) the original Smalltalk-80 system.  Squeak has very
+powerful 2- and 3-D graphics, sound, video, MIDI, animation and other
+multimedia capabilities.  It also includes a customisable framework
+for creating dynamic HTTP servers and interactively extensible Web
+sites.")
+(home-page "http://www.squeakvm.org;)
+(license license:x11)))
-- 
2.9.2



[PATCH] Add squeak-vm

2016-08-24 Thread Nicolas Goaziou
Hello,

The following patches add squeak-vm.

The build process is rather unusual since this is cmake with a configure
script in a remote place. IOW, I couldn't build it with regular
cmake-build-system and #:configure-flags.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From 1dd3ba62776ccfb9e240cd0381ffe3a1e9ce82d5 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Wed, 24 Aug 2016 22:47:01 +0200
Subject: [PATCH 1/2] gnu: smalltalk: Use "license:" prefix.

* gnu/packages/smalltalk.scm (smalltalk): Use "license:" prefix.
---
 gnu/packages/smalltalk.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index 77e033f..42de69a 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Nikita Karetnikov <nik...@karetnikov.org>
 ;;; Copyright © 2016 Efraim Flashner <efr...@flashner.co.il>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -18,7 +19,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages smalltalk)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
@@ -63,4 +64,4 @@
  "GNU Smalltalk is a free implementation of the Smalltalk language.  It
 implements the ANSI standard for the language and also includes extra classes
 such as ones for networking and GUI programming.")
-(license gpl2+)))
+(license license:gpl2+)))
-- 
2.9.2

>From b9da73934a55ee1cbec2a0ad0f477083cd967743 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Wed, 24 Aug 2016 22:58:44 +0200
Subject: [PATCH 2/2] gnu: Add squeak-vm

* gnu/packages/smalltalk.scm (squeak-vm): New variable.
---
 gnu/packages/smalltalk.scm | 69 ++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index 42de69a..d5e98e3 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -22,11 +22,20 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libsigsegv)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages zip))
 
 (define-public smalltalk
@@ -65,3 +74,63 @@
 implements the ANSI standard for the language and also includes extra classes
 such as ones for networking and GUI programming.")
 (license license:gpl2+)))
+
+(define-public squeak-vm
+  (package
+(name "squeak-vm")
+(version "4.10.2.2614")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://www.squeakvm.org/unix/release/;
+   "Squeak-" version "-src.tar.gz"))
+   (sha256
+(base32
+ "0bpwbnpy2sb4gylchfx50sha70z36bwgdxraym4vrr93l8pd3dix"
+(native-inputs
+ `(("alsa-lib" ,alsa-lib)
+   ("dbus" ,dbus)
+   ("freetype" ,freetype)
+   ("libffi" ,libffi)
+   ("libiconv" ,libiconv)
+   ("libxrender" ,libxrender)
+   ("mesa" ,mesa)
+   ("pkg-config" ,pkg-config)
+   ("pulseaudio" ,pulseaudio)))
+(build-system cmake-build-system)
+(arguments
+ `(#:tests? #f  ;No check target
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'create-build-dir
+   (lambda _
+ (mkdir "bld")
+ #t))
+ (replace 'configure
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+   (with-directory-excursion "bld"
+ (zero?
+  (system* "../unix/cmake/configure"
+   (string-append "--prefix=" out)
+   ,(if (string-prefix? "x86_64"
+(or (%current-target-system)
+(%cu

Re: [PATCH] Add Emacs Org mode

2016-08-21 Thread Nicolas Goaziou
Hello,

Ricardo Wurmus <rek...@elephly.net> writes:

> For the current stable release isn’t this the URL:
> http://orgmode.org/org-8.3.5.tar.gz ?  Should we use this instead?

The difference is about how Org is packaged. With the link above, you
need gnu-build-system and modify-phases, much like haskell-mode does.

However, Org is also distributed as an ELPA package. If we use this one,
we can rely on emacs-build-system and the recipe is trivial.

Regards,

-- 
Nicolas Goaziou0x80A93738



Re: [PATCH] Add Emacs Org mode

2016-08-20 Thread Nicolas Goaziou
Hello,

Efraim Flashner <efr...@flashner.co.il> writes:

> On Sat, Aug 20, 2016 at 10:53:48AM +0200, Ricardo Wurmus wrote:
>
>> Thank you for the patch.  Org mode is already part of Emacs; is a
>> separate package for Org mode still needed in this case?
>> 
> I notice the release date is about 2 weeks ago, so development seems to
> be continuing, not just as part of emacs. How recently was orgmode added
> to emacs? If it was quite recently then could this still be useful to
> people using Guix on a foreign distro?

Org has been part of Emacs for quite a long time already. However, as
you notice, Org shipped with Emacs (8.2.10) is lagging behind current
stable release (8.3.5). As a data point, Org 8.3 was released more than
one year ago, and 8.3.5 differs from 8.2.10 by 2700+ commit. More
importantly, bugs reported on 8.2.10 are unlikely to be fixed.

This patch adds Org current stable release. However, a new release is
going to be shipped on Monday.

Also, this is without the third party "contrib/" directory. We can
provide that also (license is still gpl3+) if needed.


Regards,

-- 
Nicolas Goaziou0x80A93738



[PATCH] Add Emacs Org mode

2016-08-19 Thread Nicolas Goaziou
Hello,

The following patch adds Org mode to the list of Emacs packages.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From 6412b47596f89ce071f81d01a23c7d18cc08cee5 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Fri, 19 Aug 2016 20:52:25 +0200
Subject: [PATCH] gnu: Add emacs-org.

* gnu/packages/emacs.scm (emacs-org): New variable.
---
 gnu/packages/emacs.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 9948b91..98b8849 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2016 Roel Janssen <r...@gnu.org>
 ;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is>
 ;;; Copyright © 2016 Alex Griffin <a...@ajgrf.com>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2960,3 +2961,23 @@ passive voice.")
 (synopsis "Folder tree view for Emacs")
 (description "This Emacs package provides a folder tree view.")
 (license license:gpl3+)))
+
+(define-public emacs-org
+  (package
+(name "emacs-org")
+(version "20160815")
+(home-page "http://orgmode.org/;)
+(synopsis "Outline-based notes management and organizer")
+(description "Org is a mode for keeping notes, maintaining TODO
+lists, and project planning with a fast and effective plain-text
+system.  It also is an authoring system with unique support for
+literate programming and reproducible research.")
+(license license:gpl3+)
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://orgmode.org/elpa/org-;
+  version ".tar"))
+  (sha256
+   (base32
+"0k9pa13kpmpi6irmbavxffgqfanhjnijz4mkmmi0zp7kgjfbaliw"
+(build-system emacs-build-system)))
-- 
2.9.2



[PATCH] Add sshpass

2016-07-27 Thread Nicolas Goaziou
Hello,

Here is a patch adding sshpass.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From 4175eaf2f440738ca29755f61de31383f3b4c506 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Wed, 27 Jul 2016 19:45:02 +0200
Subject: [PATCH] gnu: Add sshpass.

* gnu/packages/ssh.scm (sshpass): New variable.
---
 gnu/packages/ssh.scm | 20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 61a6a5b..c9ca87f 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -492,3 +492,23 @@ providing shell access to the server system from the client.  It provides
 both the server daemon and the client application, as well as tools for
 manipulating key files.")
 (license license:gpl2+)))
+
+(define-public sshpass
+  (package
+(name "sshpass")
+(version "1.06")
+(synopsis "Non-interactive password authentication with SSH")
+(home-page "https://sourceforge.net/projects/sshpass/;)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://sourceforge/sshpass/sshpass/"
+   version "/sshpass-" version ".tar.gz"))
+   (sha256
+(base32
+ "0q7fblaczb7kwbsz0gdy9267z0sllzgmf0c7z5c9mf88wv74ycn6"
+(build-system gnu-build-system)
+(description "sshpass is a tool for non-interactivly performing
+password authentication with SSH's so called ``interactive keyboard
+password authentication''.")
+(license license:gpl2+)))
-- 
2.8.4



Update giac-xcas

2016-07-18 Thread Nicolas Goaziou
Hello,

Here is an update for giac-xcas.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 5638fb6db6cd7692ef519a9865c4fb1f60a949a2 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Mon, 18 Jul 2016 10:52:31 +0200
Subject: [PATCH] gnu: giac-xcas: Update to 1.2.2-75.

* gnu/packages/algebra.scm (giac-xcas): Update to 1.2.2-75.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index b0ffd70..92b4d4c 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -202,7 +202,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-59")
+(version "1.2.2-75")
 (source (origin
   (method url-fetch)
   ;; "~parisse/giac" is not used because the maintainer regularly
@@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
   "source/giac_" version ".tar.gz"))
   (sha256
(base32
-"02s774v2zg2ya43rm8s7bcwzrmp4wlmn8h2rlg4816zpfrjkrdn4"
+"0vs111fkd900wkm7yypaxmplc8i8j63d9shc3fbdhddn7cdj70b1"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
-- 
2.8.4



[PATCH] gnu: Asymptote: Update to 2.38

2016-06-12 Thread Nicolas Goaziou
Hello,

Here is an update for the asymptote package.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 9e4627e606e871d7403265f30b39ed01801f4ad8 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sun, 12 Jun 2016 13:52:45 +0200
Subject: [PATCH] gnu: asymptote: Update to 2.38

* gnu/packages/plotutils.scm (asymptote): Update to 2.38.
---
 gnu/packages/plotutils.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 3edb25a..74d2091 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -173,14 +173,14 @@ colors, styles, options and details.")
 (define-public asymptote
   (package
 (name "asymptote")
-(version "2.37")
+(version "2.38")
 (source (origin
   (method url-fetch)
   (uri (string-append "mirror://sourceforge/asymptote/"
   version "/asymptote-" version ".src.tgz"))
   (sha256
(base32
-"16nh02m52mk9a53i8wc6l9vg710gnzr3lfbypcbvamghvaj0458i"
+"1dxwvq0xighqckkjkjva8s0igxfgy1j25z81pbwvlz6jzsrxpip9"
 (build-system gnu-build-system)
 ;; Note: The 'asy' binary retains a reference to docdir for use with its
 ;; "help" command in interactive mode, so adding a "doc" output is not
-- 
2.8.3



[PATCH] Add wireshark

2016-06-02 Thread Nicolas Goaziou
Hello,

Here is a new attempt to add a package: wireshark.

I don't like the "python-wrapper" part because it implies a propagated
python. OTOH, providing only "python" generates a lot of screaming
during patch environment phase, but doesn't seem to alter the final
executable.

I'm not sure about the locations of plugins directory. Default is in the
store, which means you cannot add more. I don't use this, so I don't
know if there's a better place.

Anyway, here comes the patch.

Thank you in advance for any feedback.

-- 
Nicolas Goaziou0x80A93738
>From e31d8434e26100bc95e2c7fa8a98dafcb4b49c45 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Thu, 2 Jun 2016 21:02:14 +0200
Subject: [PATCH] gnu: Add wireshark.

* gnu/packages/networking.scm (wireshark): New variable.
---
 gnu/packages/networking.scm | 71 +++--
 1 file changed, 68 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 6f4339a..b833e62 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016 Raimon Grau <raimons...@gmail.com>
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <tobias.geerinckx.r...@gmail.com>
 ;;; Copyright   2016 John Darrington <j...@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,12 +27,25 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages tls)
-  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages adns)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages mit-krb5)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages compression))
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tls))
 
 (define-public macchanger
   (package
@@ -273,3 +287,54 @@ DNS queries are allowed.  The bandwidth is asymmetrical, with limited upstream
 and up to 1 Mbit/s downstream.")
 ;; src/md5.[ch] is released under the zlib license
 (license (list license:isc license:zlib
+
+(define-public wireshark
+  (package
+(name "wireshark")
+(version "2.0.3")
+(synopsis "Network traffic analyzer")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://www.wireshark.org/download/src/wireshark-;
+   version ".tar.bz2"))
+   (sha256
+(base32
+ "1z358k65frp9m0l07cppwxhvbcp1w9ya5sml87pzs8gyfmp3g5p1"
+(build-system glib-or-gtk-build-system)
+(inputs `(("bison" ,bison)
+  ("c-ares" ,c-ares)
+  ("flex" ,flex)
+  ("gnutls" ,gnutls)
+  ("gtk+" ,gtk+)
+  ("libcap" ,libcap)
+  ("libgcrypt" ,libgcrypt)
+  ("libnl" ,libnl)
+  ("libpcap" ,libpcap)
+  ("lua" ,lua)
+  ("krb5" ,mit-krb5)
+  ("openssl" ,openssl)
+  ("portaudio" ,portaudio)
+  ("sbc" ,sbc)
+  ("zlib" ,zlib)))
+(native-inputs `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+(arguments
+ `(#:configure-flags
+   `(,(string-append "--with-c-ares=" (assoc-ref %build-inputs "c-ares"))
+ ,(string-append "--with-krb5=" (assoc-ref %build-inputs "krb5"))
+ ,(string-append "--with-libcap=" (assoc-ref %build-inputs "libcap"))
+ ,(string-append "--with-lua=" (assoc-ref %build-inputs "lua"))
+ ,(string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap"))
+ ,(string-append "--with-portaudio="
+ (assoc-ref %build-inputs "portaudio"))
+ ,(string-append "--with-sbc=" (assoc-ref %build-inputs "sbc"))
+ ,(string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))
+ ,(string-append "--with-zlib=" (assoc-ref %build-inputs "zlib"))
+ "--without-qt")))
+(description "Wireshark is a network protocol analyzer, or
+\"packet sniffer\", that lets you capture and interactively browse the
+contents of network frames.")
+(license license:gpl2+)
+(home-page "https://www.wireshark.org/;)))
-- 
2.8.3



Re: [PATCH] Add GeoGebra

2016-06-01 Thread Nicolas Goaziou
Hello,

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

> Alex Vong <alexvong1...@gmail.com> skribis:

Thank you for the review.

>> +   ;; Move ".jar" files and license into "share/geogebra/".
>> It seems the jar files are copied into the installation directory.
>> This is no good because guix requires compiling everything from source
>> (except the bootstrap binaries).
>
> Indeed, those binaries must be removed in a ‘snippet’ field in the
> ‘origin’ object.  See the ‘java-hamcrest-core’ package for an example of
> that.

The problem is that the program is unusable without these jar files, or
to put it differently, the program is the jar files.

AFAIU, building from source is not an option at the moment. According to
<https://dev.geogebra.org/trac/wiki/SetUp>, ignoring the Eclipse-related
stuff, the project seems to be using Gradle for compilation. Guix
doesn't provide it. 

Notwithstanding the fact that adding it doesn't look like a trivial
task, Gradle seems to act like a package manager on its own. It can
download and install specific version of dependencies or even itself.
One option would be to skip the Gradle part altogether, but that's
probably out of my league.

>> +;; Source code uses GPLv3+.  Other parts (e.g., translations) use
>> +;; a Non-Commercial clause.
>
> [...]
>
>> "Please note that GeoGebra as a complete software program would
>> probably not be considered "free" software according to the definition
>> of that term which is used \
>> by the Free Software Foundation.
>
> Indeed, the non-commercial clause very clearly makes it non-free.  All
> the affected parts must also be removed in a ‘snippet’.

It is difficult to tell what parts are non-free or not. I mean, some
parts are obvious (web, installer) and are not provided in the current
package. However, I don't think there is an exhaustive list of non-free
elements.

OTOH Debian provides it in "main" repository, albeit in version 4.
I don't think the software was re-licensed between versions 4 and 5,
tho.

At this point, I'm not sure what to do next. If anyone has a clearer
picture of the task to do, please tell.


Regards,

-- 
Nicolas Goaziou0x80A93738



[PATCH] Add GeoGebra

2016-05-29 Thread Nicolas Goaziou
Hello,

The following patch adds GeoGebra. Please consider adding it to the
repository.

Thank you.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From ea6cc12bffe9e7c566f0d98681446df2676d2eb2 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sun, 29 May 2016 19:28:53 +0200
Subject: [PATCH] gnu: Add geogebra.

* gnu/packages/maths.scm (geogebra): New variable.
---
 gnu/packages/maths.scm | 86 ++
 1 file changed, 86 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e11208c..135794f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -41,7 +41,10 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system r)
+  #:use-module (guix build-system trivial)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
@@ -61,6 +64,7 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages less)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages gnome)
@@ -2442,3 +2446,85 @@ structured and unstructured grid problems.")))
 (description "Matio is a library for reading and writing MAT files.  It
 supports compressed MAT files, as well as newer (version 7.3) MAT files.")
 (license license:bsd-2)))
+
+(define-public geogebra
+  (package
+(name "geogebra")
+(version "5.0.240.0")
+(synopsis "Dynamic mathematics software for education")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://download.geogebra.org/installers/;
+   (version-major+minor version)
+   "/GeoGebra-Linux-Portable-"
+   version ".tar.bz2"))
+   (sha256
+(base32
+ "1ngh0bah3krdc30ah3g73zbvh3gypvrvyfddlgcg7n5dmfad7a71"
+(build-system trivial-build-system)
+(arguments
+ `(#:modules ((guix build utils)
+  (srfi srfi-26))
+   #:builder
+   (begin
+ (use-modules (guix build utils)
+  (srfi srfi-26))
+ (let ((bash (string-append (assoc-ref %build-inputs "bash") "/bin"))
+   (bzip2 (string-append (assoc-ref %build-inputs "bzip2") "/bin"))
+   (java (string-append (assoc-ref %build-inputs "icedtea")
+"/bin/java")))
+   ;; Set paths.
+   (setenv "PATH" (string-append bzip2 ":" bash))
+   ;; Unpack file any move into source directory.
+   (let ((source (assoc-ref %build-inputs "source"))
+ (tar (assoc-ref %build-inputs "tar")))
+ (system* (string-append tar "/bin/tar") "xjf" source))
+   (chdir (string-append "GeoGebra-Linux-Portable-" ,version))
+   ;; Move ".jar" files and license into "share/geogebra/".
+   (let* ((out (assoc-ref %outputs "out"))
+  (bin (string-append out "/bin"))
+  (share (string-append out "/share"))
+  (applications (string-append share "/applications"))
+  (jar-dir (string-append share "/geogebra")))
+ (for-each (cut install-file <> jar-dir)
+   (find-files "." "\\.jar$"))
+ (install-file "LICENSE.txt" jar-dir)
+ ;; Create a launcher into "bin/".
+ (install-file "geogebra/geogebra" bin)
+ (with-directory-excursion bin
+   (patch-shebang "geogebra" (list bash))
+   (wrap-program "geogebra"
+ `("GG_PATH" = (,jar-dir))
+ `("GG_SCRIPTNAME" = ("geogebra"))
+ `("JAVACMD" = (,java
+ ;; Install .desktop file in "share/applications/"
+ (mkdir-p applications)
+ (call-with-output-file
+ (string-append applications "/geogebra.desktop")
+   (lambda (port)
+ (format port "~
+\[Desktop Entry]~@
+Name=GeoGebra~@
+Comment=~a~@
+Exec=~a/geogebra~@
+Terminal=false~@
+Type=Application~@
+MimeType=application/vnd.geogebra.file;application/vnd.geogebra.tool~@
+Categories=Education;Science;Math;"
+ ,synopsis bin
+   #t)

Re: [PATCH] Add thinkfan.

2016-05-10 Thread Nicolas Goaziou
Hello,

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

> Nicolas Goaziou <m...@nicolasgoaziou.fr> skribis:

>> I realize there are hard-coded paths in init scripts. Would it make
>> sense to patch them so as to refer to `thinkfan' in store instead of
>> "/usr/sbin/thinkfan"?
>
> Yes, I think so.

Here's the patch, then.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From f6e8845b46cd469a2e9a8540879436671944c87e Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Tue, 10 May 2016 21:20:49 +0200
Subject: [PATCH] gnu: thinkfan: Fix daemon path in init scripts.

* gnu/packages/linux.scm (thinkfan): Fix daemon path in init scripts.
---
 gnu/packages/linux.scm | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index fcea499..5500681 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2622,15 +2622,20 @@ feature, and a laptop with an accelerometer.  It has no effect on SSDs.")
`("-DUSE_ATASMART:BOOL=ON")
#:phases
(modify-phases %standard-phases
- ;; Install scripts for various foreign init systems.
+ ;; Install scripts for various foreign init systems. Also fix
+ ;; hard-coded path for daemon.
  (add-after 'install 'install-rc-scripts
(lambda* (#:key outputs #:allow-other-keys)
- (for-each (cute install-file <>
- (string-append (assoc-ref outputs "out")
-"/share/thinkfan"))
-   (find-files (string-append "../thinkfan-" ,version
-  "/rcscripts")
-   ".*"))
+ (let ((out (assoc-ref outputs "out"))
+   (files (find-files
+   (string-append "../thinkfan-" ,version "/rcscripts")
+   ".*")))
+   (substitute* files
+ (("/usr/sbin/(\\$NAME|thinkfan)" _ name)
+  (string-append out "/sbin/" name)))
+   (for-each (cute install-file <>
+   (string-append out "/share/thinkfan"))
+ files))
  #t)
 (inputs
  `(("libatasmart" ,libatasmart)))
-- 
2.7.4



Re: [PATCH] gnu: asymptote: Install Emacs data

2016-05-08 Thread Nicolas Goaziou
Hello,

Alex Kost <alez...@gmail.com> writes:

> Thanks!  Looks good to me, so if there will be no other comments in
> several days, I will commit it.  Did you check that the resulting
> "/share/emacs/site-lisp" directory contains elisp files (including
> "asymptote-autoloads.el")?

Yes, I did. All is fine, AFAICT.


Regards,

-- 
Nicolas Goaziou0x80A93738



Re: [PATCH] gnu: asymptote: Install Emacs data

2016-05-07 Thread Nicolas Goaziou
Hello,

Alex Kost <alez...@gmail.com> writes:

> Thanks!  Sorry I didn't build asymptote (as I don't have a wish to build
> gigabytes of texlive), but I looked at the source and I see there are
> "autoloads" cookies in "/base/asy-mode.el", so it would also
> be good to generate "asymptote-autoloads.el" file.

Indeed.

> For example, you may look at (gnu packages emacs) module to see how
> "autoloads" file are generated using 'emacs-generate-autoloads'
> procedure.  I write some notes below, that seems appropriate to me, but
> I'm not going to test the patch because of texlive (sorry again).  I
> hope other people will do.

Fair enough.

Here is an updated patch with suggested changes. Thank you for the review.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From bc0ade21f50a9c6b2f063e8043abe72a61fa9328 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Wed, 4 May 2016 00:43:36 +0200
Subject: [PATCH] gnu: asymptote: Install Emacs data

* gnu/packages/plotutils.scm (asymptote)[arguments]: Add a phase to
  install Emacs-Lisp files in an appropriate place.
---
 gnu/packages/plotutils.scm | 29 -
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 3fdd539..fc0436b 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -25,6 +25,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages bdw-gc)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages image)
   #:use-module (gnu packages ghostscript)
@@ -190,7 +191,8 @@ colors, styles, options and details.")
("texlive" ,texlive) ;For tests and documentation
("perl" ,perl)))
 (inputs
- `(("fftw" ,fftw)
+ `(("emacs" ,emacs-no-x)
+   ("fftw" ,fftw)
("freeglut" ,freeglut)
("gsl" ,gsl)
("libgc" ,libgc)
@@ -198,7 +200,13 @@ colors, styles, options and details.")
("readline" ,readline)
("zlib" ,zlib)))
 (arguments
- `(#:configure-flags
+ `(#:modules ((guix build emacs-utils)
+  (guix build gnu-build-system)
+  (guix build utils)
+  (srfi srfi-26))
+   #:imported-modules (,@%gnu-build-system-modules
+   (guix build emacs-utils))
+   #:configure-flags
(list (string-append "--enable-gc=" (assoc-ref %build-inputs "libgc"))
  (string-append "--with-latex="
 (assoc-ref %outputs "out")
@@ -210,15 +218,26 @@ colors, styles, options and details.")
(modify-phases %standard-phases
  (add-before 'build 'patch-pdf-viewer
(lambda _
- ;; Default to a free pdf viewer
+ ;; Default to a free pdf viewer.
  (substitute* "settings.cc"
(("defaultPDFViewer=\"acroread\"")
-"defaultPDFViewer=\"gv\""
+"defaultPDFViewer=\"gv\""))
+ #t))
  (add-before 'check 'set-HOME
;; Some tests require write access to $HOME, otherwise leading to
;; "failed to create directory /homeless-shelter/.asy" error.
(lambda _
- (setenv "HOME" "/tmp"))
+ (setenv "HOME" "/tmp")
+ #t))
+ (add-after 'install 'install-Emacs-data
+   (lambda* (#:key outputs #:allow-other-keys)
+ ;; Install related Emacs libraries into an appropriate location.
+ (let* ((out (assoc-ref outputs "out"))
+(lisp-dir (string-append out "/share/emacs/site-lisp")))
+   (for-each (cut install-file <> lisp-dir)
+ (find-files "." "\\.el$"))
+   (emacs-generate-autoloads ,name lisp-dir))
+ #t)
 (home-page "http://asymptote.sourceforge.net;)
 (synopsis "Script-based vector graphics language")
 (description
-- 
2.7.4



Re: [PATCH] Add thinkfan.

2016-05-07 Thread Nicolas Goaziou
Hello,

Leo Famulari <l...@famulari.name> writes:

> On Sat, May 07, 2016 at 01:42:22AM +0200, Nicolas Goaziou wrote:
>> Hello,
>> 
>> Leo Famulari <l...@famulari.name> writes:
>> 
>> > Looks good! But I noticed they *just* released a new version. Can you
>> > take a look and submit a patch with that version if it works for you?
>> 
>> Here it is.
>
>> * gnu/packages/linux.scm (thinkfan): New variable.
>
> Thanks! Applied as d17ae8c0c30.

Thank you.

I realize there are hard-coded paths in init scripts. Would it make
sense to patch them so as to refer to `thinkfan' in store instead of
"/usr/sbin/thinkfan"?

Regards,

-- 
Nicolas Goaziou0x80A93738



[PATCH] gnu: asymptote: Install Emacs data

2016-05-06 Thread Nicolas Goaziou
Hello,

The following patch installs Emacs libraries provided by Asymptote in
a location where they can be found.

Thank you for considering it for inclusion.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From 5ebefd0edc14c4b0dc0db6dec200cc117c625848 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Wed, 4 May 2016 00:43:36 +0200
Subject: [PATCH] gnu: asymptote: Install Emacs data

* gnu/packages/plotutils.scm (asymptote)[arguments]: Add a phase to
  install Emacs-Lisp files in an appropriate place.
---
 gnu/packages/plotutils.scm | 16 +---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 3fdd539..027fdc1 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -198,7 +198,10 @@ colors, styles, options and details.")
("readline" ,readline)
("zlib" ,zlib)))
 (arguments
- `(#:configure-flags
+ `(#:modules ((guix build gnu-build-system)
+  (guix build utils)
+  (srfi srfi-26))
+   #:configure-flags
(list (string-append "--enable-gc=" (assoc-ref %build-inputs "libgc"))
  (string-append "--with-latex="
 (assoc-ref %outputs "out")
@@ -210,7 +213,7 @@ colors, styles, options and details.")
(modify-phases %standard-phases
  (add-before 'build 'patch-pdf-viewer
(lambda _
- ;; Default to a free pdf viewer
+ ;; Default to a free pdf viewer.
  (substitute* "settings.cc"
(("defaultPDFViewer=\"acroread\"")
 "defaultPDFViewer=\"gv\""
@@ -218,7 +221,14 @@ colors, styles, options and details.")
;; Some tests require write access to $HOME, otherwise leading to
;; "failed to create directory /homeless-shelter/.asy" error.
(lambda _
- (setenv "HOME" "/tmp"))
+ (setenv "HOME" "/tmp")))
+ (add-after 'install 'install-emacs-data
+   (lambda* (#:key outputs #:allow-other-keys)
+ ;; Install related Emacs libraries in an appropriate location.
+ (for-each (cute install-file <>
+ (string-append (assoc-ref outputs "out")
+"/share/emacs/site-lisp"))
+   (find-files "." "\\.el$")))
 (home-page "http://asymptote.sourceforge.net;)
 (synopsis "Script-based vector graphics language")
 (description
-- 
2.7.4



Re: [PATCH] Add thinkfan.

2016-05-06 Thread Nicolas Goaziou
Hello,

Leo Famulari <l...@famulari.name> writes:

> Looks good! But I noticed they *just* released a new version. Can you
> take a look and submit a patch with that version if it works for you?

Here it is.


Regards,

-- 
Nicolas Goaziou0x80A93738
 >From 9c82df26841b281fc9eeb751db76871e31c94339 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sat, 30 Apr 2016 10:31:13 +0200
Subject: [PATCH] gnu: Add thinkfan.

* gnu/packages/linux.scm (thinkfan): New variable.
---
 gnu/packages/linux.scm | 52 ++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e80c900..fcea499 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Alex Kost <alez...@gmail.com>
 ;;; Copyright © 2016 Raymond Nicholson <ra...@openmailbox.org>
 ;;; Copyright © 2016 Mathieu Lirzin <m...@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -63,6 +64,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages calendar)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages freedesktop)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -2591,3 +2593,53 @@ where they are less likely to cause damage to the spinning disc.  Requires a
 drive that supports the ATA/ATAPI-7 IDLE IMMEDIATE command with unload
 feature, and a laptop with an accelerometer.  It has no effect on SSDs.")
 (license license:gpl2)))
+
+(define-public thinkfan
+  (package
+(name "thinkfan")
+(version "0.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/thinkfan/"
+  version "/thinkfan-" version ".tar.gz"))
+  (sha256
+   (base32
+"0nz4c48f0i0dljpk5y33c188dnnwg8gz82s4grfl8l64jr4n675n"))
+  (modules '((guix build utils)))
+  ;; Fix erroneous man page location in Makefile leading to
+  ;; a compilation failure.
+  (snippet
+   '(substitute* "CMakeLists.txt"
+  (("thinkfan\\.1") "src/thinkfan.1")
+(build-system cmake-build-system)
+(arguments
+ `(#:modules ((guix build cmake-build-system)
+  (guix build utils)
+  (srfi srfi-26))
+   #:tests? #f  ;no test target
+   #:configure-flags
+   ;; Enable reading temperatures from hard disks via S.M.A.R.T.
+   `("-DUSE_ATASMART:BOOL=ON")
+   #:phases
+   (modify-phases %standard-phases
+ ;; Install scripts for various foreign init systems.
+ (add-after 'install 'install-rc-scripts
+   (lambda* (#:key outputs #:allow-other-keys)
+ (for-each (cute install-file <>
+ (string-append (assoc-ref outputs "out")
+"/share/thinkfan"))
+   (find-files (string-append "../thinkfan-" ,version
+  "/rcscripts")
+   ".*"))
+ #t)
+(inputs
+ `(("libatasmart" ,libatasmart)))
+(home-page "http://thinkfan.sourceforge.net/;)
+(synopsis "Simple fan control program")
+(description
+ "Thinkfan is a simple fan control program.  It reads temperatures,
+checks them against configured limits and switches to appropriate (also
+pre-configured) fan level.  It requires a working @code{thinkpad_acpi} or any
+other @code{hwmon} driver that enables temperature reading and fan control
+from userspace.")
+(license license:gpl3+)))
-- 
2.7.4



Re: [PATCH] Add thinkfan.

2016-05-03 Thread Nicolas Goaziou
Hello,

Leo Famulari <l...@famulari.name> writes:

> Can you add a brief comment explaining this flag?

Done.

> Also, can you add a phase that installs the "rcscripts"? They will be
> useful for Guix users on foreign distros.

Done.

> I'm not sure where to install them. Since they will probably have to be
> copied or symlinked out of ~/.guix-profile anyways, how about installing
> them into 'share/misc'?
>
> I'm open to better ideas!

What about share/thinkfan instead? I changed the patch accordingly. Feel
free to use share/misc instead if you think this is better.

>> +(synopsis "Simple fan control program")
>
> Is it specific to ThinkPads?

No, it isn't. Quoting README:

  Thinkfan is a simple, lightweight fan control program. Originally designed
  specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via
  the sysfs hwmon interface (/sys/class/hwmon).

Here is the updated patch. Thank you for the review.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From b804f745864eb06613a51e6055b8b0b4c4865401 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sat, 30 Apr 2016 10:31:13 +0200
Subject: [PATCH] gnu: Add thinkfan.

* gnu/packages/linux.scm (thinkfan): New variable.
---
 gnu/packages/linux.scm | 46 ++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index aa778be..97958eb 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Alex Kost <alez...@gmail.com>
 ;;; Copyright © 2016 Raymond Nicholson <ra...@openmailbox.org>
 ;;; Copyright © 2016 Mathieu Lirzin <m...@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -63,6 +64,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages calendar)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages freedesktop)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -2591,3 +2593,47 @@ where they are less likely to cause damage to the spinning disc.  Requires a
 drive that supports the ATA/ATAPI-7 IDLE IMMEDIATE command with unload
 feature, and a laptop with an accelerometer.  It has no effect on SSDs.")
 (license license:gpl2)))
+
+(define-public thinkfan
+  (package
+(name "thinkfan")
+(version "0.9.2")
+(source (origin
+  (method url-fetch/tarbomb)
+  (file-name (string-append name "-" version))
+  (uri (string-append "mirror://sourceforge/thinkfan/"
+  version "/thinkfan-" version ".tar.gz"))
+  (sha256
+   (base32
+"0ydgabk2758f6j64g1r9vdsd221nqsv5rwnphm81s7i2vgra1nlh"
+(build-system cmake-build-system)
+(arguments
+ `(#:modules ((guix build cmake-build-system)
+  (guix build utils)
+  (srfi srfi-1)
+  (srfi srfi-26))
+   #:tests? #f  ;no test target
+   #:configure-flags
+   ;; Allow reading temperatures from hard disks via S.M.A.R.T.
+   `("-DUSE_ATASMART:BOOL=ON")
+   #:phases
+   (modify-phases %standard-phases
+ ;; Install scripts for various foreign init systems.
+ (add-after 'install 'install-rc-scripts
+   (lambda* (#:key outputs #:allow-other-keys)
+ (for-each (cute install-file <>
+ (string-append (assoc-ref outputs "out")
+"/share/thinkfan"))
+   (find-files "../source/rcscripts" ".*"))
+ #t)
+(inputs
+ `(("libatasmart" ,libatasmart)))
+(home-page "http://thinkfan.sourceforge.net/;)
+(synopsis "Simple fan control program")
+(description
+ "Thinkfan is a simple fan control program.  It reads temperatures,
+checks them against configured limits and switches to appropriate (also
+pre-configured) fan level.  It requires a working @code{thinkpad_acpi} or any
+other @code{hwmon} driver that enables temperature reading and fan control
+from userspace.")
+(license license:gpl3+)))
-- 
2.7.4



[PATCH] gnu: asymptote: Update to 2.37

2016-05-01 Thread Nicolas Goaziou
Hello,

The following patch updates asymptote to 2.37. Thank you for considering
it for merging.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From dfd74ca805031b37456ea2824ad069916d104878 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sat, 30 Apr 2016 11:43:35 +0200
Subject: [PATCH] gnu: asymptote: Update to 2.37

* gnu/packages/plotutils.scm (asymptote): Update to 2.37
* gnu/packages/patches/asymptote-gsl2.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove reference.
---
 gnu/local.mk  |  1 -
 gnu/packages/patches/asymptote-gsl2.patch | 33 ---
 gnu/packages/plotutils.scm| 26 ++--
 3 files changed, 16 insertions(+), 44 deletions(-)
 delete mode 100644 gnu/packages/patches/asymptote-gsl2.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e45405f..702c9a6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -415,7 +415,6 @@ dist_patch_DATA =		\
   gnu/packages/patches/alsa-lib-mips-atomic-fix.patch		\
   gnu/packages/patches/apr-skip-getservbyname-test.patch	\
   gnu/packages/patches/arb-ldconfig.patch			\
-  gnu/packages/patches/asymptote-gsl2.patch			\
   gnu/packages/patches/ath9k-htc-firmware-binutils.patch	\
   gnu/packages/patches/ath9k-htc-firmware-gcc.patch		\
   gnu/packages/patches/ath9k-htc-firmware-objcopy.patch		\
diff --git a/gnu/packages/patches/asymptote-gsl2.patch b/gnu/packages/patches/asymptote-gsl2.patch
deleted file mode 100644
index 4f73d16..000
--- a/gnu/packages/patches/asymptote-gsl2.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 71ff9e769ba5d9995b367201f0d41b7a8dedab9d Mon Sep 17 00:00:00 2001
-From: John Bowman <bow...@ualberta.ca>
-Date: Sat, 14 Nov 2015 01:25:56 -0700
-Subject: [PATCH] Support GSL 2.0.
-

- gsl.cc | 5 +
- 1 file changed, 5 insertions(+)
-
-diff --git a/gsl.cc b/gsl.cc
-index b500557..0f81dc6 100644
 a/gsl.cc
-+++ b/gsl.cc
-@@ -27,6 +27,7 @@
- #include 
- #include 
- #include 
-+#include 
- 
- #include "opsymbols.h"
- 
-@@ -1088,7 +1089,11 @@ void gen_rungsl_venv(venv )
-   addGSLDOUBLE2Func(SYM(F));
-   addGSLDOUBLE2Func(SYM(E));
-   addGSLDOUBLE3Func(SYM(P),SYM(phi),SYM(k),SYM(n));
-+#if GSL_MAJOR_VERSION >= 2
-+  addGSLDOUBLE2Func(SYM(D),SYM(phi),SYM(k));
-+#else  
-   addGSLDOUBLE3Func(SYM(D),SYM(phi),SYM(k),SYM(n));
-+#endif  
-   addGSLDOUBLE2Func(SYM(RC),SYM(x),SYM(y));
-   addGSLDOUBLE3Func(SYM(RD),SYM(x),SYM(y),SYM(z));
-   addGSLDOUBLE3Func(SYM(RF),SYM(x),SYM(y),SYM(z));
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 67f692d..3fdd539 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <l...@gnu.org>
 ;;; Copyright © 2015 Eric Bavier <bav...@member.fsf.org>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -171,15 +172,14 @@ colors, styles, options and details.")
 (define-public asymptote
   (package
 (name "asymptote")
-(version "2.35")
+(version "2.37")
 (source (origin
   (method url-fetch)
   (uri (string-append "mirror://sourceforge/asymptote/"
   version "/asymptote-" version ".src.tgz"))
   (sha256
(base32
-"11f28vxw0ybhvl7vxmqcdwvw7y6gz55ykw9ybgzb2px6lsvgag7z"))
-  (patches (search-patches "asymptote-gsl2.patch"
+"16nh02m52mk9a53i8wc6l9vg710gnzr3lfbypcbvamghvaj0458i"
 (build-system gnu-build-system)
 ;; Note: The 'asy' binary retains a reference to docdir for use with its
 ;; "help" command in interactive mode, so adding a "doc" output is not
@@ -206,13 +206,19 @@ colors, styles, options and details.")
  (string-append "--with-context="
 (assoc-ref %outputs "out")
 "/share/texmf/tex/context/third"))
-   #:phases (modify-phases %standard-phases
-  (add-before 'build 'patch-pdf-viewer
-(lambda _
-  ;; Default to a free pdf viewer
-  (substitute* "settings.cc"
-(("defaultPDFViewer=\"acroread\"")
- "defaultPDFViewer=\"gv\"")))
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'build 'patch-pdf-viewer
+   (lambda _
+ ;; Default to a free pdf viewer
+ (substitute* "settings.cc"
+   (("defaultPDFViewer=\"acroread\"")
+&

[PATCH] Add thinkfan.

2016-04-30 Thread Nicolas Goaziou
Hello,

I'd like to submit the following patch for inclusion. There are a few
caveats

1. It has to be run as root.

2. There is no default configuration since it is hardware-dependant, and
   it will not run without one.

3. It requires to load a kernel module with a specific option, namely:
 modprobe thinkpad_acpi fan_control=1

I guess we cannot handle any of these requirements at the package
definition level, anyway.

As icing on the cake, one could define a service to load it at boot (the
tarball contains scripts for at least 4 init systems), but my service-fu
is feeble.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From e82ba2f266a144e05f16cf41602b9c2bd203b3ec Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sat, 30 Apr 2016 10:31:13 +0200
Subject: [PATCH] gnu: Add thinkfan.

* gnu/packages/linux.scm (thinkfan): New variable.
---
 gnu/packages/linux.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a26e641..4ed83d1 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Alex Kost <alez...@gmail.com>
 ;;; Copyright © 2016 Raymond Nicholson <ra...@openmailbox.org>
 ;;; Copyright © 2016 Mathieu Lirzin <m...@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -63,6 +64,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages calendar)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages freedesktop)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -2571,3 +2573,32 @@ where they are less likely to cause damage to the spinning disc.  Requires a
 drive that supports the ATA/ATAPI-7 IDLE IMMEDIATE command with unload
 feature, and a laptop with an accelerometer.  It has no effect on SSDs.")
 (license license:gpl2)))
+
+(define-public thinkfan
+  (package
+(name "thinkfan")
+(version "0.9.2")
+(source (origin
+  (method url-fetch/tarbomb)
+  (file-name (string-append name "-" version))
+  (uri (string-append "mirror://sourceforge/thinkfan/"
+  version "/thinkfan-" version ".tar.gz"))
+  (sha256
+   (base32
+"0ydgabk2758f6j64g1r9vdsd221nqsv5rwnphm81s7i2vgra1nlh"
+(build-system cmake-build-system)
+(arguments
+ `(#:tests? #f  ;no test target
+   #:configure-flags
+   `("-DUSE_ATASMART:BOOL=ON")))
+(inputs
+ `(("libatasmart" ,libatasmart)))
+(home-page "http://thinkfan.sourceforge.net/;)
+(synopsis "Simple fan control program")
+(description
+ "Thinkfan is a simple fan control program.  It reads temperatures,
+checks them against configured limits and switches to appropriate (also
+pre-configured) fan level.  It requires a working @code{thinkpad_acpi} or any
+other @code{hwmon} driver that enables temperature reading and fan control
+from userspace.")
+(license license:gpl3+)))
-- 
2.7.4



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

2016-04-29 Thread Nicolas Goaziou
Hello,

Leo Famulari <l...@famulari.name> writes:

> With 宋文武's recent patch on fltk (6fdc73e0), it works for me!

Indeed. I forgot to specify the recent fix to fltk was needed.

> So, applied as 99a004461.

Thank you.


Regards,

-- 
Nicolas Goaziou0x80A93738



[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 <m...@nicolasgoaziou.fr>
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] Add GAP.

2016-04-18 Thread Nicolas Goaziou
Hello,

Andreas Enge <andr...@enge.fr> writes:

> the attached patch adds the computer algebra system for group theory GAP.
> I am only interested in it as an input to SAGE, but it appears that someone
> on IRC was also trying to package it yesterday, so it would be nice if you
> could check whether this package meets your needs.

I was also trying to pave the way towards SAGE. I tested it briefly and,
AFAIC, it looks good. Thank you for the work.

> There is an impressive number of optional GAP packages that are shipped with
> the tarball; for the time being, I included only some of them in the
> installation.

GAP packages require their own input, so they could be considered as
first-class packages in Guix (e.g, define-public gap-sonata), all
propagating gap and setting an appropriate GAP root directory.

OTOH, GAP provides its own mechanism to handle its packages.

> The documentation poses problems: It is included in the tarball, but I thought
> it would be in style to recreate it from source. Adding texlive-minimal is
> not sufficient and creates blank pdf pages (since fonts are missing; I think
> we need to revisit texlive-minimal and make it a little less minimal). Adding
> texlive helps, but now it also ends up in the closure, which is excessive!
> I am wondering whether we could simply drop texlive and delete the bundled
> pdf documentation; the on-line documentation should then still be available.
> What do you think?
>
> Also, I tried to create a separate doc package, but then installing both
> gap and gap:doc into a user profile is not enough: Documentation is searched
> for relatively to the binary, I think. (To check this, I called
> "?LoadPackage" from inside a gap session, which does not work with a separate
> doc package.) Personally, I would be happy with having one package only if we
> delete the pdf documentation: There are then about 35MB of
> documentation.

Considering the educational purpose of GAP, and the sheer size of the
packages involved, I tend to think that 35MB documentation is not much
of a problem. IMO, we should keep it around. 

Of course, a gap:doc ouput seems the best option, provided it can be
made to work. For example, could gap:doc install "doc" directory in
a new location and symlink "lib", "bin", etc. from the original "out"
directory? Then the only thing left to do would be to set GAP_DIR (e.g,
by modifying gap.sh) to "doc" output.


Regards,

-- 
Nicolas Goaziou0x80A93738



Re: [PATCH] gnu: Add giac-xcas

2016-04-12 Thread Nicolas Goaziou
Hello,

Mathieu Lirzin <m...@gnu.org> writes:

> with texlive-minimal as input, and without texlive in the environment do
> you get some errors?

Yes, I do. The errors are the same

  sh: pstopnm: command not found
  sh: pnmtopng: command not found

They do not appear with `netpbm' in the environment, so I think
everything is fine, after all.

> The ‘arguments’ field is for general purpose build customization,
> whereas The ‘snippet’ field in origin is meant for removing/modifying
> parts of the code that don't respect GNU FSDG.
>
> It is done this way so that when the user is doing ‘guix build --source
> PACKAGE’ to get the tarball, a freed version is provided instead of the
> one from upstream.

Point taken. Thank you for the explanation.

> I think you are right, could you send an updated patch with two separate
> phases?  Sorry I love nitpicking.  ;)

Here is the new patch.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From a1b91846b69321239b773df433bd679d31d051d6 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Thu, 7 Apr 2016 14:43:15 +0200
Subject: [PATCH 2/2] gnu: Add giac-xcas

* gnu/packages/algebra.scm (giac-xcas): New variable.
---
 gnu/packages/algebra.scm | 67 
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index abac961..8babe28 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andr...@enge.fr>
 ;;; Copyright © 2013, 2015 Ludovic Courtès <l...@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;; Copyright © 2014 Mark H Weaver <m...@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -23,7 +24,10 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages doxygen)
+  #:use-module (gnu packages fltk)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -31,7 +35,9 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages tcsh)
   #:use-module (gnu packages texlive)
+  #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -192,6 +198,67 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(license license:gpl2)
(home-page "http://pari.math.u-bordeaux.fr/;)))
 
+(define-public giac-xcas
+  (package
+(name "giac-xcas")
+(version "1.2.2-37")
+(source (origin
+  (method url-fetch)
+  ;; "~parisse/giac" is not used because the maintainer regularly
+  ;; overwrites the release tarball there, introducing a checksum
+  ;; mismatch every time.  See
+  ;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README>
+  (uri (string-append "https://www-fourier.ujf-grenoble.fr/;
+  "~parisse/debian/dists/stable/main/"
+  "source/giac_" version ".tar.gz"))
+  (sha256
+   (base32
+"0cagh9nnaz7ks299b2bs3lrdclv4xbyis24zc8vf3i25p470bxsf"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'patch-bin-cp
+   (lambda _
+ ;; Some Makefiles contain hard-coded "/bin/cp".
+ (substitute* (find-files "doc" "^Makefile")
+   (("/bin/cp") (which "cp")))
+ #t))
+ (add-after 'unpack 'disable-broken-test
+   (lambda _
+ ;; Disable failing test.  Actually, the results are correct but
+ ;; a sorting discrepancy prevents the test from being validated.
+ (substitute* "check/Makefile.in"
+   (("chk_fhan16") ""))
+ #t)
+(inputs
+ `(("fltk" ,fltk)
+   ("gmp" ,gmp)
+   ("gsl" ,gsl)
+   ("lapack" ,lapack)
+   ("libao" ,ao)
+   ("libjpeg" ,libjpeg)
+   ("libpng" ,libpng)
+   ("libx11" ,libx11)
+   ("libxft" ,libxft)
+   ("libxt" ,libxt)
+   ("mesa" ,mesa)
+   ("mpfi" ,mpfi)
+   ("mpfr" ,mpf

Re: [PATCH] gnu: Add giac-xcas

2016-04-11 Thread Nicolas Goaziou
Hello,

Mathieu Lirzin <m...@gnu.org> writes:

> In fact it is public.  It is just that the module (gnu packages xiph)
> use a different convention which is to define "public" variable with
> ‘define’ and to add them to the #:export list of the module, instead of
> directly using ‘define-public’.  Either way is equivalent in Guile.

OK. Understood.

> It depends if this feature is essential for using xcas?  If yes then
> adding it as a propagated-input is still not required unless "latex,
> makeindex, ..." are used using the PATH which could not be the case
> since those programs are checked at configure time.
>
> WDYT?

I removed perl, tcsh, texlive-minimal as inputs, and tried

  guix environment --ad-hoc texlive giac-xcas --fallback -- xcas

I could preview the sheet using LaTeX. However, I sometimes got

  sh: pstopnm: command not found
  sh: pnmtopng: command not found

Not sure it is related.

Also, texlive-minimal is still in the closure, probably due to some
other input, so it doesn't reduce the size of the package.

> Looks good to me.  guix lint is happy and the build is reproducible.  I
> have modified the indentation to follow our “custom” Emacs rules.  Here
> is the updated patch.

Funnily, I broke Emacs indentation on purpose because other package
definitions in the file were disagreeing with it. I should have trusted
good ole Emacs.

> Is there a particular reason for not patching this within the
> ‘arguments’ field?

This is because the test issue is related to a given release, i.e.,
a given `source' field. OTOH, `arguments' are for control over the build
process, which is not going to change anytime soon.

To put it differently, I put the temporary fix in `snippet' and the
persistent one in `arguments'.

Moreover, you suggest to merge the two fixes into a single phase named
`fix-makefiles', which, albeit correct, is less accurate than
`patch-bin-cp'.

Anyway, this is just nitpicking; I'm fine with all the changes you made.

> Thanks and welcome!

Thank you for the review.


Regards,

-- 
Nicolas Goaziou0x80A93738



Re: [PATCH] gnu: Add giac-xcas

2016-04-10 Thread Nicolas Goaziou
I realized Guix already provided "libao", as "ao" variable. However,
I don't know why it isn't "public".

I also packaged "mpfi".

Since all dependencies of "giac-xcas" are now available, I can update
the package definition.

I'm not sure about input "texlive-minimal". Debian package doesn't have
it. However, configure script checks for latex, makeindex, pdflatex and
dvips, probably so as to build documentation. OTOH, I don't think
default make dance builds documentation: it probably copies it directly
from the tarball, so it may be useless to provide the input. As a last
point, xcas itself provides a feature to print formulas as LaTeX. So,
all in all, texlive-minimal may be a propagated-input, AFAIU.

WDYT?

In any case, here are the patches. Thank you for reading so far.

Regards,

>From eab8703a36c405bf01c34db4a5ceb1a5926033b5 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Sun, 10 Apr 2016 13:53:42 +0200
Subject: [PATCH 1/2] gnu: Add mpfi

* gnu/packages/multiprecision.scm (mpfi): New variable.
---
 gnu/packages/multiprecision.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index ad50770..a84d7f5 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <l...@gnu.org>
 ;;; Copyright © 2014 Mark H Weaver <m...@netris.org>
 ;;; Copyright © 2015 Andreas Enge <andr...@enge.fr>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -119,3 +120,29 @@ floating-point computations with correct rounding.")
 It supports arbitrarily high precision and it correctly rounds the results.")
(license lgpl3+)
(home-page "http://mpc.multiprecision.org/;)))
+
+(define-public mpfi
+  (package
+   (name "mpfi")
+   (version "1.5.1")
+   (source (origin
+(method url-fetch)
+(uri (string-append
+  "https://gforge.inria.fr/frs/download.php/file/30130/mpfi-;
+  version ".tar.gz"))
+(sha256
+ (base32
+  "1g2q6i7dqx40p4gw11da6jgfcbzmm26wxc69fwv8zpcdyg32a9za"
+   (build-system gnu-build-system)
+   (propagated-inputs `(("gmp" ,gmp)   ;  refers to both
+("mpfr" ,mpfr)))
+   (synopsis "C library for arbitrary precision interval arithmetic")
+   (description "MPFI is intended to be a portable library written in C for
+arbitrary precision interval arithmetic with intervals represented using MPFR
+reliable floating-point numbers.  It is based on the GNU MP library and on the
+MPFR library.  The purpose of an arbitrary precision interval arithmetic is on
+the one hand to get guaranteed results, thanks to interval computation, and on
+the other hand to obtain accurate results, thanks to multiple precision
+arithmetic.")
+   (license lgpl2.1+)
+   (home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html;)))
-- 
2.8.0

>From b454564510f436ca1150a672970bafc805fbd86b Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Thu, 7 Apr 2016 14:43:15 +0200
Subject: [PATCH 2/2] gnu: Add giac-xcas

* gnu/packages/algebra.scm (giac-xcas): New variable.
---
 gnu/packages/algebra.scm | 65 
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index abac961..74b3f71 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andr...@enge.fr>
 ;;; Copyright © 2013, 2015 Ludovic Courtès <l...@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;; Copyright © 2014 Mark H Weaver <m...@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -23,7 +24,10 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages doxygen)
+  #:use-module (gnu packages fltk)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -31,7 +35,9 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages tcsh)
   #:use-module (gnu packages texlive)
+  #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -158,6 +164,65 @@ PARI is also available as

[PATCH] gnu: Add giac-xcas

2016-04-07 Thread Nicolas Goaziou
Hello,

I'd like to submit the following package.

Feedback welcome.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From fd59ecad1cae741433c4a9f291a7c2a8ea277387 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Thu, 7 Apr 2016 14:43:15 +0200
Subject: [PATCH] gnu: Add giac-xcas

* gnu/packages/algebra.scm (giac-xcas): New variable.
---
 gnu/packages/algebra.scm | 63 
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index bbb708f..8cd0228 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andr...@enge.fr>
 ;;; Copyright © 2013, 2015 Ludovic Courtès <l...@gnu.org>
+;;; Copyright © 2016 Nicolas Goaziou <m...@nicolasgoaziou.fr>
 ;;; Copyright © 2014 Mark H Weaver <m...@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -23,7 +24,10 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages doxygen)
+  #:use-module (gnu packages fltk)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -31,6 +35,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages tcsh)
   #:use-module (gnu packages texlive)
   #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
@@ -158,6 +163,64 @@ PARI is also available as a C library to allow for faster computations.")
(license license:gpl2+)
(home-page "http://pari.math.u-bordeaux.fr/;)))
 
+(define-public giac-xcas
+  (package
+(name "giac-xcas")
+(version "1.2.2-37")
+(source (origin
+  (method url-fetch)
+  ;; We don't use "~parisse/giac" because the maintainer regularly
+  ;; overrides the release tarball there, introducing a checksum
+  ;; mismatch every time. See
+  ;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README>
+  (uri (string-append "https://www-fourier.ujf-grenoble.fr/\
+~parisse/debian/dists/stable/main/source/giac_"
+  version ".tar.gz"))
+  (sha256
+   (base32
+"0cagh9nnaz7ks299b2bs3lrdclv4xbyis24zc8vf3i25p470bxsf"))
+  ;; Disable failing test. Actually, the results are correct but
+  ;; a sorting discrepancy prevents the test from being validated.
+  (modules '((guix build utils)))
+  (snippet
+   '(substitute* "check/Makefile.in"
+  (("chk_fhan16") "")
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ ;; Some Make files contain hard-coded "/bin/cp".
+ (add-after 'unpack 'patch-bin-cp
+   (lambda _
+ (substitute* (find-files "doc" "^Makefile")
+   (("/bin/cp") (which "cp")))
+ #t)
+;; FIXME: Add "libao" and "libmpfi" when available.
+(inputs `(("fltk" ,fltk)
+  ("gmp" ,gmp)
+  ("gsl" ,gsl)
+  ("lapack" ,lapack)
+  ("libjpeg" ,libjpeg)
+  ("libpng" ,libpng)
+  ("libx11" ,libx11)
+  ("libxft" ,libxft)
+  ("libxt" ,libxt)
+  ("mesa" ,mesa)
+  ("mpfr" ,mpfr)
+  ("ntl" ,ntl)
+  ("perl" ,perl)
+  ("pari-gp" ,pari-gp)
+  ("tcsh" ,tcsh)
+  ("texlive" ,texlive-minimal)))
+(native-inputs `(("readline" ,readline)))
+(home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html;)
+(synopsis "Computer algebra system")
+(description
+ "Giac/Xcas is a computer algebra system.  It has a compatibility
+mode for maple, mupad and the TI89.  It is available as a standalone
+program (graphic or text interfaces) or as a C++ library.")
+(license license:gpl3+)))
+
 (define-public gp2c
   (package
(name "gp2c")
-- 
2.8.0