Re: Cannot run texlive context: permission denied

2024-05-28 Thread Nicolas Goaziou via
Hello,

Taha Aziz Ben Ali  writes:

> I've been following the master branch ever since the changes you've
> introduced and I was wondering whether there was a particular reason
> they haven't been merged yet.

Branches are merged in a FIFO order. Two branches are currently located
before "tex-team", as pointed out at <https://qa.guix.gnu.org>. I think
"gnome-team" will be merged very soon. I have no idea about
"core-updates".

Meanwhile, I'm polishing "tex-team" so it will be absolutely fantastic
(or utterly broken) once merged ;)

> If additional testing is required, I'd be happy to help out, but as I
> previously pointed out, ConTeXt is working properly now.

Thank you for your feedback! For now, waiting is the only thing to do,
however.

Regards,
-- 
Nicolas Goaziou





Re: Cannot run texlive context: permission denied

2024-05-20 Thread Nicolas Goaziou via
Nicolas Goaziou via  writes:

> Taha Aziz Ben Ali  writes:
>
>>> I think it is fixed in "tex-team" branch.
>>
>> Thank you Nicolas,
>>
>> I tried out your changes, and although the "permission denied" error no
>> longer shows up, running context in the terminal (user home intact,
>> i.e. without my previous configuration hack) yields the following
>> message:
>
> [...]
>
>> It seems that mtxrun fails to find either files, the same message will
>> also appear if invoking context through mtxrun via the --script flag.
>
> Could you trying clearing out your cache, i.e.
> "~/.texlive2023/texmf-var/"? It may contain bogus information.

Nevermind! I misread your error message; your cache seems OK.

I think you created an incomplete environment, i.e., you used something
such as:

  ./pre-inst-env guix shell texlive-context

But `texlive-context' alone is not sufficient. You need at least
a scheme or a collection in this environment, as mentioned in the
manual, or, if you really want to be minimal, `texlive-bin'. E.g., in
decreasing size:

  ./pre-inst-env guix shell texlive-collection-context

 or

  ./pre-inst-env guix shell texlive-scheme-minimal texlive-context

 or

  ./pre-inst-env guix shell texlive-bin texlive-context


HTH,
-- 
Nicolas Goaziou





Re: Cannot run texlive context: permission denied

2024-05-20 Thread Nicolas Goaziou via
Hello,

Taha Aziz Ben Ali  writes:

>> I think it is fixed in "tex-team" branch.
>
> Thank you Nicolas,
>
> I tried out your changes, and although the "permission denied" error no
> longer shows up, running context in the terminal (user home intact,
> i.e. without my previous configuration hack) yields the following
> message:

[...]

> It seems that mtxrun fails to find either files, the same message will
> also appear if invoking context through mtxrun via the --script flag.

Could you trying clearing out your cache, i.e.
"~/.texlive2023/texmf-var/"? It may contain bogus information.

Regards,
-- 
Nicolas Goaziou





Re: Cannot run texlive context: permission denied

2024-05-18 Thread Nicolas Goaziou via
Hello,

Taha Aziz Ben Ali  writes:

> I'm here to tell you that I found a working workaround for making
> ConTeXt work through `mtxrun --script context`.
>
> Create a "texmf/web2c/texmfcnf.lua" file (and preceeding directories)
> under your user's home directory and add the following:
>
>
> return {
>   content = {
>  variables = {
>TEXMF = os.getenv("GUIX_ENVIRONMENT") .. "/share/texmf-dist"
> },
>   },
> }
>
>
> That should be enough to get the ball rolling. Note however that running
> `context` independently from `mtxrun` continues to fail.
>
> These changes should probably be added to the build derivation, it seems
> that Guix' non-standard filesystem don't work well with TeXLive's
> default settings.

I think it is fixed in "tex-team" branch.

Regards,
-- 
Nicolas Goaziou





Re: LuaTeX/luaotfload doesn't find any fonts (using fontspec) on Guix?

2024-05-14 Thread Nicolas Goaziou via
Hello,

I forgot to send a carbon copy to help-guix ML in my last answer, so
I include it here.

Nicolas Goaziou via  writes:

> Benjamin Slade  writes:
>
>>> This doesn't seem good as the store is not writable.
>>
>>> I read[¹] that "texmf.cnf" and "texmfcnf.lua" might be misconfigured. In
>>> particular, `kpsewhich -var-value=TEXMFCACHE' reports a store location.
>>> At the very least, I think TEXMFCACHE in "texmf.cnf" should be set to
>>> $TEXMFVAR instead of $TEXMFSYSVAR;$TEXMFVAR as it is the case currently.
>>> I'm not sure it will help, tho.
>>
>> I will try to see if there is anything that can be done in terms of
>> local/home configuration.
>>
>> I wonder if there's a reasonable upstream/Guix fix for the luatex
>> package definition.
>
> What I wrote above is actually wrong. $TEXMFSYSVAR does not point to the
> store, but to "{/gnu/...", which means "lualatex" creates a "{"
> directory in the current working directory. It is silly (and has been
> reported already[¹]), but at least the cache can be written to the disk.
>
> I'm not sure yet there's a problem on the Guix side. Font configuration
> can be tricky.

Actually, the problem is on the Guix side, and it will be solved in the
"tex-team" branch.

Meanwhile, the solution is to set OSFONTDIR environment variable to
'{$XDG_DATA_DIRS}'.

With it, the following "test.tex" document compiles correctly:

--8<---cut here---start->8---
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Fantasque Sans Mono}
\begin{document}
Test \textbf{Test} \textit{Test}
\end{document}
--8<---cut here---end--->8---

in the following environment

  guix shell --pure texlive-collection-latex texlive-fontspec fontconfig 
font-fantasque-sans

with the following command

  export OSFONTDIR='{$XDG_DATA_DIRS}'; lualatex test.tex

Thank you for the bug report!

Regards,
-- 
Nicolas Goaziou





Re: texlive kpathsea ignores TEXMFHOME

2024-05-11 Thread Nicolas Goaziou via
Hello,

Fulbert  writes:

> Hello ! As the little shell session illustrates below, 'kpathsea' fails
> to search/find files in TEXMFHOME on my “Guix system” setup .

Indeed. I fixed this issue in "tex-team" branch.

Meanwhile, you may set TEXMF environment variable to "'{$TEXMFHOME,$TEXMFDIST}'"

Regards,
-- 
Nicolas Goaziou





Re: LuaTeX/luaotfload doesn't find any fonts (using fontspec) on Guix?

2024-05-09 Thread Nicolas Goaziou via
Hello,

Benjamin Slade  writes:

>> This doesn't seem good as the store is not writable.
>
>> I read[¹] that "texmf.cnf" and "texmfcnf.lua" might be misconfigured. In
>> particular, `kpsewhich -var-value=TEXMFCACHE' reports a store location.
>> At the very least, I think TEXMFCACHE in "texmf.cnf" should be set to
>> $TEXMFVAR instead of $TEXMFSYSVAR;$TEXMFVAR as it is the case currently.
>> I'm not sure it will help, tho.
>
> I will try to see if there is anything that can be done in terms of
> local/home configuration.
>
> I wonder if there's a reasonable upstream/Guix fix for the luatex
> package definition.

What I wrote above is actually wrong. $TEXMFSYSVAR does not point to the
store, but to "{/gnu/...", which means "lualatex" creates a "{"
directory in the current working directory. It is silly (and has been
reported already[¹]), but at least the cache can be written to the disk.

I'm not sure yet there's a problem on the Guix side. Font configuration
can be tricky.

[¹]  <https://issues.guix.gnu.org/64772>

Regards,
-- 
Nicolas Goaziou





Re: LuaTeX/luaotfload doesn't find any fonts (using fontspec) on Guix?

2024-05-07 Thread Nicolas Goaziou via
Hello,

Benjamin Slade  writes:

> I'm having trouble using LuaTeX on Guix.
>
> luaotfload doesn't seem to be able to find any fonts, whether system-wide or 
> local (when used with fontspec). I get messages like:
>
>   luaotfload | db : Reload initiated (formats: otf,ttf,ttc); reason: Font 
> "Cardo" not found.
> luaotfload | resolve : sequence of 3 lookups yielded nothing 
> appropriate.
> ! Package fontspec Error: The font "Cardo" cannot be found.
>
> I don't have this issue on other distros, or on Guix when using XeTeX instead 
> of LuaTeX.
>
> Is there some additional setup or configuration (or another package ?)
> that I need on Guix to get LuaTeX/luatofload to work properly ?
> (pathing issues of some sort ?)

I compiled successfully the following document (test-font.tex):

--8<---cut here---start->8---
\documentclass[11pt,a4paper]{amsart}
\usepackage{unicode-math}
\setmathfont{Asana Math}
\setmainfont{Droid Serif}
\begin{document}
\[(D_e\Phi_{\gamma(s)})^{-1}(\gamma'(s))=\varphi'(s)(D_e\Phi_{\alpha(\varphi(s))})^{-1}(\alpha'(\varphi(s)))\]
\end{document}
--8<---cut here---end--->8---

using the following command:

  guix shell texlive-scheme-small texlive-collection-luatex texlive-droid 
texlive-asana-math texlive-unicode-math -- lualatex test-font.tex

However, I don't think it takes into consideration the specified fonts.
In the same environment, `luaotfload-tool --help' reports

--8<---cut here---start->8---
The font database will be saved to
   
{/gnu/store/f1hdawmb5401cldyl6f27lvc3hvxbw8l-profile/share/texmf-dist/luatex-cache/generic/names/luaotfload-names.lua.gz
   
{/gnu/store/f1hdawmb5401cldyl6f27lvc3hvxbw8l-profile/share/texmf-dist/luatex-cache/generic/names/luaotfload-names.luc

---
   FONT CACHE

  --cache=  operate on font cache, where  is
   "show", "purge", or "erase"

The font cache will be written to
   
{/gnu/store/f1hdawmb5401cldyl6f27lvc3hvxbw8l-profile/share/texmf-dist/luatex-cache/generic/fonts/
--8<---cut here---end--->8---

This doesn't seem good as the store is not writable.

I read[¹] that "texmf.cnf" and "texmfcnf.lua" might be misconfigured. In
particular, `kpsewhich -var-value=TEXMFCACHE' reports a store location.
At the very least, I think TEXMFCACHE in "texmf.cnf" should be set to
$TEXMFVAR instead of $TEXMFSYSVAR;$TEXMFVAR as it is the case currently.
I'm not sure it will help, tho.

Regards,


[¹]  
<https://tex.stackexchange.com/questions/691039/luaotfload-no-writeable-cache-path-error/691047>

-- 
Nicolas Goaziou





Re: LaTeX: Need help with packaging a book in GNU Guix

2023-09-01 Thread Nicolas Goaziou
Hello,

"Dr. Arne Babenhauserheide"  writes:

> "Artyom V. Poptsov"  writes:
>
>> -\usepackage{amssymb}
>> -\usepackage{marvosym}
>> I think that it is not worth the effort to use the "marvosym" package as
>> I can easily draw the single symbol I want from the package myself.  But
>> maybe there's a problem with "texlive-marvosym" package as well, don't
>> know for sure though.
>
> Since the switch to split texlive packages, many of my documents don’t
> compile yet (but I did not yet find out why, so I sadly can’t really
> help you) and I also use marvosym. So maybe something more general.

I looked at the "texlive-marvosym" package again, but couldn't spot
anything suspicious.

OTOH, Artyom successfully built their book in a "--pure" shell
environment, so that package may not be the culprit. It more sounds like
an incompatibility between Ubuntu's TeX Live packages and Guix's.
I admit I don't understand the problem, tho.

In any case, feel free to report the errors you encounter with your
documents (without necessarily spending time investigating). This is
a valuable feedback for finding out bugs in modular TeX live.

Regards,
-- 
Nicolas Goaziou



Re: LaTeX: Need help with packaging a book in GNU Guix

2023-08-29 Thread Nicolas Goaziou
"Artyom V. Poptsov"  writes:

> Hello Nicolas!
> Thanks, that worked out indeed.  I've added other LaTeX packages as
> well, searching by the required ".sty" files.

Great!

> /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/sh: 
> /gnu/store/05770yhxad3d3p4q7rgw8clh0y1gi5sc-texlive-glossaries-66594/bin/makeglossaries:
>  /usr/bin/env: bad interpreter: No such file or directory
> make: *** [Makefile:77: make_glossary] Error 1
> make: *** Waiting for unfinished jobs
> --8<---cut here---end--->8---
>
>
> It looks like "makeglossaries" cannot find "/usr/bin/env" program.

It should be fixed on master, if you can guix pull again.

> Strangely enough when I add "texlive" to the inputs, the problem is
> gone.

This is not strange. `texlive' provides `perl' once in its inputs, and
all scripts, such as `makeglossaries', have their shebang line updated.

In modular TeX Live, packages are responsible for their own script(s);
and need to provide `perl', for example, as an input. This is not
obvious when the script has no extension, as it is the case here.

Regards,



Re: LaTeX: Need help with packaging a book in GNU Guix

2023-08-29 Thread Nicolas Goaziou
"Artyom V. Poptsov"  writes:

> When I tried to remove "texlive" from inputs, I ran into the following
> error:
>
> --8<---cut here---start->8---
> ! LaTeX Error: File `fontspec.sty' not found.

[...]

> As you can see, LaTeX cannot find "fontspec.sty" file.  I did some
> research and found that the file belongs to "texlive" package.  So when
> I returned "texlive" to inputs the build process went fine.

I then suggest to add `texlive-fontspec' (a few kB) instead of `texlive'
(3 GB) to the inputs.

If you insist on adding `texlive' to the inputs, you can remove every
other "texlive-" input instead; it's one or the other.

Regards,



Re: LaTeX: Need help with packaging a book in GNU Guix

2023-08-29 Thread Nicolas Goaziou
Hello,

"Artyom V. Poptsov"  writes:

> There are lots of examples of LaTeX package definitions in Guix for
> sure, but unfortunately I found no examples of packaged books written in
> LaTeX.

There is `book-faif' in "fsf.scm".

> Then I'm getting errors that "Liberation Serif" font is not found:
>
> --8<---cut here---start->8---
> (/gnu/store/h7iqqr3aajqhjkib2k2g0zipag2ya41s-texlivetexmf-20230313/share/texmf-
> dist/tex/latex/fontspec/fontspec.cfg)))
>
> ! Package fontspec Error: The font "Liberation Serif" cannot be found.

> For immediate help type H .
>  ...  
>   
> l.8 \setmonofont
> {Liberation Mono}

You should add `fontconfig' to native-inputs so Liberation can be found.

You can also remove `texlive' and, probably, `texlive-latex-fonts' and
`texlive-ttf-utils' from your inputs, since you're using XeTeX.
I suggest the following:

--8<---cut here---start->8---
 (native-inputs
  (list python-pygments
bash-minimal
perl
which
fontconfig))
 (inputs
  (list font-liberation
git
gnu-make
inkscape
lilypond
texlive-acronym
texlive-adjustbox
texlive-bibtex
texlive-bibtexperllibs
texlive-bigfoot
texlive-circuitikz
texlive-collection-langcyrillic
texlive-glossaries
texlive-lilyglyphs
texlive-minted
texlive-multirow
texlive-pgf
texlive-subfiles
texlive-svg
texlive-t1utils
texlive-textpos
texlive-transparent
texlive-xetex))
--8<---cut here---end--->8---

Note that everything could be moved to native inputs.

Also note that you need un-packaged TeX Live packages, such as `svg'.
I added them just before sending the mail, so you'll need a recent "guix
pull".

> Moreover I see that the build tries to update the font cache but fails
> to do that because the part of the file system it tries to write to is
> read-only:
>
> --8<---cut here---start->8---
> (/gnu/store/h7iqqr3aajqhjkib2k2g0zipag2ya41s-texlivetexmf-20230313/share/texmf-
> dist/tex/latex/base/book.cls
> Document Class: book 2022/07/02 v1.4n Standard LaTeX document class
>
> (/gnu/store/h7iqqr3aajqhjkib2k2g0zipag2ya41s-texlivetexmf-20230313/share/texmf-
> dist/tex/latex/base/bk10.cloFontconfig error: No writable cache directories
> Fontconfig error: No writable cache directories
> ))
> --8<---cut here---end--->8---

This "error" is actually harmless.

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
a _
   (wrap-program (string-append #$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: image converter and resizer

2023-03-18 Thread Nicolas Goaziou
Hello,

Andreas Enge  writes:

> I had a quick look at converseen. It requires the qtlinguist package,
> which we do not have in Guix.

qtlinguist belongs to qttools, doesn't it?

The main issue in properly packaging converseen is, IMO, to remove the
(auto)update code all over the place.

For the record, here's a draft, without the check updates cleanup:

--8<---cut here---start->8---
(define-public converseen
  (package
(name "converseen")
(version "0.9.11.1")
(source (origin
  (method git-fetch)
  (uri (git-reference
(url "https://github.com/Faster3ck/Converseen";)
(commit (string-append "v" version
  (file-name (git-file-name name version))
  (sha256
   (base32
"0nxvac8df47gxg1klqlz0s3rxl0ykrikmciniwkb938bgilmaijm"
(build-system cmake-build-system)
(arguments
 (list
  #:tests? #false   ;no tests
  #:phases
  #~(modify-phases %standard-phases
  (add-after 'unpack 'set-translations-location
;; Fix translations location.
(lambda _
  (substitute* "src/translator.cpp"
(("QString\\(\"%1/share/converseen/loc\"\\).arg\\(rootPath\\)")
 (string-append "QString(\""
#$output
"/share/converseen/loc\")")
  ;; (add-after 'unpack 'disable-updates-checks
  ;;   ;; Disable "Check for updates" since there's no use for it
  ;;   ;; in Guix and we don't want software to phone home.
  ;;   (lambda _
  ;; (error "foo")))
  )))
(native-inputs
 (list pkg-config qttools-5))
(inputs
 (list imagemagick qtbase-5))
(home-page "https://converseen.fasterland.net/";)
(synopsis "Batch image converter and resizer")
(description
 "Converseen is an image batch conversion tool.  You can resize and
convert images in more than 100 different formats.")
(license license:gpl3+)))
--8<---cut here---end--->8---

Regards,
-- 
Nicolas Goaziou



Re: Reference a store path of an input?

2021-12-17 Thread Nicolas Goaziou
Hello,

Jim Newsome  writes:

> I'm just getting started experimenting with guix and guile

Great!

> I'd like to add some explicit flags to the cmake invocation so that it
> knows where to find glib. What do I substitute in for "get-store-path" 
> below? Pointers to how I might have found the appropriate helper or
> approach on my own also appreciated.

You may want to read about G-Expressions in Guix manual. See also
<https://guix.gnu.org/fr/blog/2021/the-big-change/> for addition
insight.

> ```
> (define-public oniontrace
>   (package
> (name "oniontrace")
> (build-system cmake-build-system)
> (inputs `(("glib", glib)))
> (arguments
>   '(#:configure-flags
>  (list (string-append "-DCMAKE_EXTRA_INCLUDES="
>  (get-store-path   "glib") "/include"
> ...
> ```

I should be:

(arguments
 (list
  #:configure-flags
  #~(list (string-append "-DCMAKE_EXTRA_INCLUDES=" #$glib "/include"

Regards,
-- 
Nicolas Goaziou



Re: [PATCH] gnu: Update sdlpop.

2021-11-09 Thread Nicolas Goaziou
Hello,

phodina  writes:

> Unfotunately the price executable looks for a diractory DATA in the
> directory of argv[0], therefore the prince executable runs only from
> the /guix/store/xxx-sdlpop/bin directory.
>
> The following patch replaces the former location with the latter.
>
> * gnu/packages/games.scm (sdlpop)[arguments]: Substitute location of
> executable.

Applied. Thank you.

Regards,
-- 
Nicolas Goaziou



Re: How to use emacs-tramp ?

2021-01-22 Thread Nicolas Goaziou
Hello,

znavko--- via  writes:

> Hello! i wish transparently edit php files on remote server with emacs.
> i've installed emacs-tramp with 'guix install emacs-tramp'
> and required it and configured it with lines in
> ~/.emacs as desribed here:
> https://www.gnu.org/software/tramp/#Default-Host
>
> But when I press C-x C-f
> and type '-::' and then save this file
> emacs just says: "Wrote /home/bob/-::'

Shouldn't you type "/" first, i.e., '/-::' ?

Regards,
-- 
Nicolas Goaziou



Re: Broken emacs-treemacs package in current Guix

2020-11-08 Thread Nicolas Goaziou
Hello,

Gary Johnson  writes:

> If I try to build the emacs-treemacs package that comes with Guix
> (declared in emacs-xyz.scm), this crashes out due to a failing test
> during its "make test" phase.

This should be now be fixed. Thank you.

Regards,
-- 
Nicolas Goaziou



Re: fix chessx

2020-05-14 Thread Nicolas Goaziou
Hello,

Adam Kandur via  writes:

> hi everyone! recently i tried to install chessx on my laptop, there
> were errors. then i decided to test in my channel. and, i fixed link
> for downloading chessx. hope will be usefull.

FWIW, I have no problem building chessx in its current form. In
particular, I don't get any error downloading the source tarball.
>
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 63977f9..34eacb3 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -10313,7 +10313,7 @@ and chess engines.")
>  (source
>   (origin
> (method url-fetch)
> -   (uri (string-append "mirror://sourceforge/chessx/chessx/"
> +   (uri (string-append 
> "https://downloads.sourceforge.net/project/chessx/chessx/";

The mirror should be more general than your specific URL. Maybe it was
a transient error.

Regards,

-- 
Nicolas Goaziou



Re: CV Assistant

2019-08-25 Thread Nicolas Goaziou
Hello,

Jesse Gibbons  writes:

> Great news! I got cvassistant working! I will send the patch when I
> have time.

Excellent!

> Nicolas Goaziou, I could not have done it without your template, so I
> want to include your info in the copyright section of cvassistant.scm.
> If that's ok with you, what should I put?

Sure, you can add:

  Copyright © 2019 Nicolas Goaziou 

Thank you!

Regards,

-- 
Nicolas Goaziou



Re: CV Assistant

2019-08-16 Thread Nicolas Goaziou
Hello,

Raghav Gururajan  writes:

> I sat to do it several times but could not start it due to the
> situation I am in. I am curious to learn packaging in guix and I am
> confident that I will be doing it someday. It just not the right time
> (hectic situation).

In order to get you, or someone else, started, here is a draft for the
package:

  (define-public cvassistant
(package
  (name "cvassistant")
  (version "3.1.0")
  (source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/cvassistant/"
"cvassistant-" version "-src.tar.bz2"))
(sha256
 (base32
  "1y2680bazyiwm50gdhdd4982ckbjscrkbw2mngyk7yw708iadvr7"
  (build-system gnu-build-system)
  (arguments
   `(#:phases
 (modify-phases %standard-phases
   (add-after 'unpack 'remove-donation-banner
 ;; Remove dialog box with a donation link, as suggested by
 ;; the INSTALL file.
 (lambda _
   (substitute* "controllers/mainwindow.cpp"
 (("#(define NO_DONATION_PROMPT)" _ line) line))
   #t))
   (add-after 'unpack 'fix-quazip-directory
 ;; Without it, build process fails with "fatal error:
 ;; quazip/quazipfile.h: No such file or directory".
 ;;
 ;; FIXME: insufficient! It fails later with "ld: cannot
 ;; find -lquazip-qt5".
 (lambda _
   (substitute* "models/resumedocument.h"
 (("quazip(/quazipfile\\.h)" _ suffix)
  (string-append "quazip5" suffix)))
   #t))
   (replace 'configure
 (lambda _ (invoke "qmake"))
  (inputs
   `(("qtbase" ,qtbase)
 ("quazip" ,quazip)
 ("zlib" ,zlib)))
  (home-page "https://cvassistant.sourceforge.io/";)
  (synopsis "Job application organizer")
  (description "Whether you're looking for a job or trying to help
  a friend to find one, CVAssistant is a tool for you.  It helps you by
  preparing resumes and cover letters and organizing your job
  application process.  It:
  @itemize
  @item Stores all your skills and experiences.
  @item Creates resumes tailored for each job you apply.
  @item Creates cover letters summarized to match each job
  advertisement.
  @item Keeps a history of job applications so you are ready when you
  receive a phone call.
  @item Writes resumes in your language.  All languages are supported!
  @end itemize")
  (license license:gpl3+)))

Unfortunately, it fails to build with "ld: cannot find -lquazip-qt5".
This is probably related to this part of the definition:

  (add-after 'unpack 'fix-quazip-directory
;; Without it, build process fails with "fatal error:
;; quazip/quazipfile.h: No such file or directory".
;;
;; FIXME: insufficient! It fails later with "ld: cannot
;; find -lquazip-qt5".
(lambda _
  (substitute* "models/resumedocument.h"
(("quazip(/quazipfile\\.h)" _ suffix)
 (string-append "quazip5" suffix)))
  #t))

I'm quite certain this is not too hard to solve. You may want to
investigate a bit further, or ask for help through IRC, etc.

HTH,

Regards,

-- 
Nicolas Goaziou



Re: Winetricks

2019-03-01 Thread Nicolas Goaziou
Hello,

Pierre Neidhardt  writes:

> Alright, settled.

Some notes:

- As another data point, Debian provides winetricks in "contrib/", not
  in "non-free";
- There is winetricks-libre at
  <https://github.com/g4jc/winetricks-libre>

Regards,

-- 
Nicolas Goaziou



Re: Need some help to remove non-free documentation

2018-10-25 Thread Nicolas Goaziou
Hello,

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

Thank you for your answer.

> What I would do in a ‘snippet’ or the origin is:
>
>   1. rm -rf doc
>
>   2. Remove “doc” from the ‘SUBDIRS’ variable of the top-level
>  Makefile.in.

That would remove all documentation. However, only a tiny part of it is
non-free. I'm trying to preserve some of it.

> That way you won’t need to regenerate the build files.
>
> Does that make sense or am I too naive?

IIUC, this will unfortunately not cut it.

> (Besides we should get in touch with the folks at Grenoble University to
> see if they would agree to liberating the docs.  Perhaps Debian people
> already attempted?)

Debian encounters the same problem, see
<https://salsa.debian.org/science-team/giac/blob/master/debian/giac-doc.README.Debian>.

I don't know if they attempted to contact the author, tho.

Regards,

-- 
Nicolas Goaziou



Need some help to remove non-free documentation

2018-10-22 Thread Nicolas Goaziou
mbda _
 (substitute* (find-files "doc" "^Makefile")
   (("/bin/cp") (which "cp")))
 #t))
 (add-after 'unpack 'disable-failing-test
   ;; FIXME: Test failing.  Not sure why.
   (lambda _
 (substitute* "check/Makefile.in"
   (("chk_fhan11") ""))
 #t))
 (add-after 'install 'install-doc
   ;; Setting --docdir to "doc" output isn't sufficient as
   ;; documentation and examples are scattered throughout the source.
   (lambda* (#:key outputs #:allow-other-keys)
 (let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc"))
(docdir (string-append doc
   "/share/doc/"
   (string-append ,name "-" ,version
   ;; For some reason, the install process moves
   ;; "share/giac/examples" instead of "share/giac/doc" to
   ;; "$(docdir)".  Clean up the mess and start over.
   (delete-file-recursively (string-append doc "/share"))
   (mkdir-p docdir)
   (with-directory-excursion out
 (for-each (lambda (f)
 (unless (member f '("." ".."))
   (copy-recursively (string-append "share/giac/" f)
 (string-append docdir "/" f
   (scandir "share/giac"))
 (delete-file-recursively "share/giac")))
 #t)
(inputs
 `(("fltk" ,fltk)
   ("gmp" ,gmp)
   ("gsl" ,gsl)
   ("lapack" ,lapack)
   ("libao" ,ao)
   ("libjpeg" ,libjpeg)
   ("libpng" ,libpng)
   ("libx11" ,libx11)
   ("libxinerama" ,libxinerama)
   ("libxft" ,libxft)
   ("libxt" ,libxt)
   ("mesa" ,mesa)
   ("mpfi" ,mpfi)
   ("mpfr" ,mpfr)
   ("ntl" ,ntl)
   ("perl" ,perl)
   ("pari-gp" ,pari-gp)
   ("tcsh" ,tcsh)
   ("texlive" ,texlive-tiny)))
(native-inputs
 `(("autoconf" ,autoconf)
   ("automake" ,automake)
   ("libtool" ,libtool)
   ("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+)))
--8<---cut here---end--->8---

Regards,

-- 
Nicolas Goaziou



Re: gst-plugins-base: Test suite failed: FAIL: elements/opus

2018-06-19 Thread Nicolas Goaziou
Hello,

Pierre Neidhardt  writes:

> I can't update my packages `guix package -u`, gst-plugins-base fails:

[...]

> FAIL: elements/opus
> ===
>
> Running suite(s): opus
> 33%: Checks: 6, Failures: 0, Errors: 4
> gstcheck.c:596:E:general:test_opus_encode_nothing:0: (after this point) 
> Received signal 11 (Segmentation fault)
> gstcheck.c:596:E:general:test_opus_encode_samples:0: (after this point) 
> Received signal 11 (Segmentation fault)
> gstcheck.c:596:E:general:test_opus_encode_properties:0: (after this point) 
> Received signal 11 (Segmentation fault)
> elements/opus.c:429:E:general:test_opus_decode_plc_timestamps_with_fec:0: 
> (after this point) Received signal 11 (Segmentation fault)
> Check suite opus ran in 0.014s (tests failed: 4)
> FAIL elements/opus (exit status: 4)

[...]

> Anyone else?

Ditto. It breaks wine upgrade (even wine64).

Quick and dirty fix: what about disabling elements/opus test? It doesn't
look like a vital part.

Regards,

-- 
Nicolas Goaziou0x80A93738



Re: invoking info guix

2018-03-17 Thread Nicolas Goaziou
Hello,

Catonano  writes:

> In a terminal I can issue this command
>
> ~$ info guix
>
> and have the guuix manual pop up
>
> In Emacs I can do
>
> M-x info
>
> but then I find myself in a general page, a sort of index and I have to
> search through it in order to find the guix "link"
>
> How can I end up in the Guix manual front page directly even when using
> Emacs ?

Not directly answering your question, but from the Directory node (the
so-called general page), use press `m' then "guix RET".

Also, you can bind a key to a command that directly does (info
"(guix)"):

  (global-set-key (kbd "") (lambda () (interactive) (info "(guix)")))


Regards,

-- 
Nicolas Goaziou0x80A93738