Re: Trying to define a package

2018-04-03 Thread Thomas Sigurdsen
Haha, I see that I added bash because I misread the error and someone
mentioned bash was needed.

Bash is not needed. You can delete the input for bash both the use-module and
the native-input bit. Be careful of matching parenthesis.

On Tue, 3 Apr 2018 21:27:16 +0200
Thomas Sigurdsen <thomas.sigurd...@gmail.com> wrote:

> Hi Arnaud.
> 
> Had a look at your package, it does not have the configure script where
> build-system gnu is expecting. I couldn't see it anywhere else either.
> 
> I've made a few changes that I attached. With this you can put the file in a
> directory that you append to your $GUIX_PACKAGE_PATH and then just run 'guix
> build freefilesync'.
> 
> I see the License file has three other licenses in addition to GPL3. But the
> names look like free software too (though I'm not a lawyer). No idea how we
> handle cases like that.
> 
> Also, the rest of the code tree looks very non-standard as far as the tools
> I'm used go... Which is probably why you are having trouble building it.
> 
> Hope that helps a little.
> 
> Thomas
> 
> On Tue, 3 Apr 2018 19:14:34 +0200
> Arnaud B <arnaud.beaudh...@gmail.com> wrote:
> 
> > Hello everyone,
> > 
> > Well I'm happy to report that thanks to your advice I made some progress.
> > Using the scm file attached and the command :
> > *guix build -L /home/arnaud/guix_packages/gnu/packages/ -K -f
> > freefilesync.scm*
> > the build process starts as it should, the zip file is downloaded, checked
> > and unziped as needed, and the cpp files compile normally.
> > It stops at the configure script stage, apparently not finding the
> > configure command.
> > H
> > ​ere is the relevant part :
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > *phase `unpack' succeeded after 0.3 secondsstarting phase
> > `patch-usr-bin-file'phase `patch-usr-bin-file' succeeded after 0.0
> > secondsstarting phase `patch-source-shebangs'phase `patch-source-shebangs'
> > succeeded after 0.2 secondsstarting phase `configure'source directory:
> > "/tmp/guix-build-freefilesync-9.9.drv-0/source" (relative from build:
> > ".")build directory:
> > "/tmp/guix-build-freefilesync-9.9.drv-0/source"configure flags:
> > ("CONFIG_SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash"
> > "SHELL=/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash"
> > "--prefix=/gnu/store/v07x6jfph9yy7bf54ibdb9z08snjn6lh-freefilesync-9.9"
> > "--enable-fast-install"
> > "--build=x86_64-unknown-linux-gnu")
> > /gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash:
> > ./configure: No such file or
> > directory  phase `configure'
> > failed after 0.0 secondsnote: keeping build directory
> > `/tmp/guix-build-freefilesync-9.9.drv-1'builder for
> > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed
> > with exit code 1@ build-failed
> > /gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv - 1
> > builder for
> > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed
> > with exit code 1 guix build: error: build failed:
> > build of
> > `/gnu/store/r13m30fdxvxindynh4161ca498lj3y09-freefilesync-9.9.drv' failed*
> > This is surprising to me as, according to the manual
> > <https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html>,
> > configure is part of the usual set of tools found in the gnu build system.
> > Let met quote :
> > *"The (...) gnu-build-system represents the familiar GNU Build System,
> > where packages may be configured, built, and installed with the usual
> > ./configure && make && make check && make install command sequence."*
> > I checked that bash, bash-minimal, bash-completion are all found in the
> > store (actually in 3 differents versions after guix puil I guess).
> > 
> > So again I rely on your knowledge, hoping to get through eventually.
> > 
> > Many thanks in advance
> > 
> > Arnaud
> > 
> > PS : I reworded the package name and description as per the guidelines.
> > 
> > 
> > 2018-04-02 21:53 GMT+02:00 Arnaud B <arnaud.beaudh...@gmail.com>:
> > 
> > > ​Hello Pierre and Oleg
> > >
> > > Thanks a lot for the detailed and helpful answers, I will do accordingly
> > > tomorrow night after work and report.
> > > Cheers
> > >
> > >
> 




Re: how to install from binary

2017-11-12 Thread Thomas Sigurdsen
Hello, there has been a long thread recently clarifying a lot around
guix, builds and substitutions. Explore the thread for lots of clarifying
info:
https://lists.gnu.org/archive/html/help-guix/2017-11/msg9.html

But in short summary: Guix is a build from source system and the substitutes
are possible and sometime available because of the functional aspect. As I
understand it, the substitutes are often (and randomly) not available because
of difficulty of scheduling and storage on the build farm (hydra). So guix
will often build things, even if you want substitutes.

Take my word with a grain of salt. And Welcome!

  :)

On Sun, 12 Nov 2017 14:30:36 -0800
Mason Hock  wrote:

> Guix seems to be building everything from source, which can take a
> while. As per these instructions I tried
> 
> # cd [prefix]/share/guix/hydra.gnu.org.pub
> # guix archive --authorize < hydra.gnu.org.pub
> and got
> 
> guile: warning: failed to install locale
> warning: failed to install locale: Invalid argument
> 
> with no other output. I get that error almost every time I try to do
> something with Guix and it usually works anyway. Since I got no other
> errors I just kept going with
> 
> $ guix build emacs --dry-run
> 
> and got "The following derivations would be built:" so apparently it
> did not work.
> 
> During an installation I do see a lot of "updating list of substitutes"
> messages, but I also frequently see the word "build" and a lot of .c
> and .h files go by, which combined with the long installation time
> makes me doubt that it is actually downloading binaries from the
> substitutes and installing them.
> 




Re: successful installation, but problems updating

2017-11-06 Thread Thomas Sigurdsen
Hello, sadly I can't help with the guix pull error, don't know a lot
about it unfortunately. I do have some comments on the other questions.

On Mon, 06 Nov 2017 09:16:56 +0100
Marco van Hulten  wrote:

> After this I should execute this command.
> 
> > $ guix system reconfigure
> > guix system: error: wrong number of arguments for action 'reconfigure'  
>

reconfigure (and some (maybe all?) of the other system commands) require a
config file. So 'guix system reconfigure /path/to/config.scm' should work.

> 
> I expected this not to work properly anyway because 'guix pull' did not
> succeed, but this seems like a syntax error that would have come up
> also after a correct 'guix pull' (except, of course, if 'guix pull'
> would provide files that account for the right number of arguments —
> but I don't understand Guix well enough to make any good presumptions
> about it).
> 
> 
> Finally, have two more general questions (possibly related) about
> Guix.
> 
> Firstly, it often says that I need to use '--fallback'.  Is that
> because the binary is not available?
>

'--fallback' means that guix will fall back to compiling from source if
it can't download binaries (also called substitutes). By default guix
tries to download substitutes from the build farm (hydra).

> 
> Secondly, I noted that with, e.g., 'guix package -i kodi' software gets
> compiled.  I understood that GNU Guix is capable of both binary and
> source packages.  Which should I typically expect?  Can I choose?
> 

It seems to me I usually get core and common packages as substitutes
(binaries). There is the ‘--no-substitutes’ command line flag to disable
substitutes and always build from source. I can't see a flag for
disabling source builds.

You'll find this information in the guix info pages, specifically under
"common build options" and "invoking guix system".

> -Marco

Thomas



Webservices and Shepherd

2017-04-02 Thread Thomas Sigurdsen
Hi Guix!

I'm sending two threads with the same intro, read below the line for the
questions.

I've been playing around with guixsd on my day-to-day work laptop for a month
or so now and have to say I'm thoroughly happy about how everything is put
together and mostly _just works_.

I'll note that I'm still very much learning guile and scheme. But the manual
(https://www.gnu.org/software/guile/manual/) is amazing.

-

I will, over the coming week or so, begin setting up a server (for web pages,
file sharing and hopefully email).

Webservices: Is it preferred to put their "program files" in package
definitions and telling shepherd how to run them in services?

Are there any examples of a guixsd server config with multiple web services
out there?


And when it comes to shepherd: I've seen a few configs where shepherd is
running as a user in addition to root. It looks like this is a good way to
separate webservices and similar, maybe even giving them separate users. But
does it mean shepherd is running multiple instances, increasing overhead and
difficulty of management (as in how do I know which shepherd I'm talking to
and so on)?

My entire configuration with homemade modules can be found at:
https://notabug.org/thomassgn/guixsd-configuration



Package Definitions and Maintenance

2017-04-02 Thread Thomas Sigurdsen
Hi Guix!

I'm sending two threads with the same intro, read below the line for the
questions.

I've been playing around with guixsd on my day-to-day work laptop for a month
or so now and have to say I'm thoroughly happy about how everything is put
together and mostly _just works_.

I'll note that I'm still very much learning guile and scheme. But the manual
(https://www.gnu.org/software/guile/manual/) is amazing.

-

I have tried writing some package definitions
(https://notabug.org/thomassgn/guixsd-configuration/src/master/modules/tms/).
But I can not get it to even pass evaluation and I don't understand what is
meant by 'procedure #f'. Assuming I somewhere have a value that should eval
to a procedure but evals to false instead - I just don't understand where.

The first warning about freetype I don't understand how to get around
also. I've attached my output from running 'guix package -i wkhtmltopdf' at
the end.

I'm also curious: I'm happy to contribute the package definitions I write to
guix; but I don't think I'm a reliable maintainer. That is, I don't know if I
will have the capacity to update the definitions as upstream changes with time
(I'm not reliable like that). Should I still send patches with package
definitions?

My entire configuration with homemade modules can be found at:
https://notabug.org/thomassgn/guixsd-configuration


WARNING: (wkhtmltopdf): `freetype' imported from both (guix licenses) and
(gnu packages fontutils) Backtrace:
In ice-9/boot-9.scm:
4056: 19 [#]
1727: 18 [%start-stack load-stack ...]
1732: 17 [#]
In unknown file:
   ?: 16 [primitive-load
"/gnu/store/0icg6mr0cw74srvp39hms8fvh3s821yf-guix-0.12.0-7.aabe/bin/.guix-real"]
In guix/ui.scm: 1228: 15 [run-guix-command package "-i" "wkhtmltopdf"]
In ice-9/boot-9.scm:
 160: 14 [catch srfi-34 # ...]
 160: 13 [catch system-error ...]
In guix/scripts/package.scm:
 896: 12 [#]
 863: 11 [process-actions # (# # # # ...)]
In guix/ui.scm:
 729: 10 [show-manifest-transaction # # # ...]
In srfi/srfi-1.scm:
 598: 9 [map # ...] In guix/ui.scm:
 658: 8 [#
"wkhtmltopdf" ...] In guix/packages.scm:
1134: 7 [package-output # # "out" ...]
 786: 6 [cache! # # # ...]
1092: 5 [thunk]
1024: 4 [bag->derivation # # #]
In srfi/srfi-1.scm:
 573: 3 [map # #]
In guix/packages.scm:
 846: 2 [expand-input # # # ...]
In guix/store.scm:
1176: 1 [# #
# ...] In unknown file:
   ?: 0 [#f # "x86_64-linux" #f]

ERROR: In procedure #f:
ERROR: Wrong type to apply: #f




[Paid assignment] Set up and testing of system configuration (GuixSD)

2017-01-27 Thread Thomas Sigurdsen
Hi all, I'm in need of getting a system configuration up and running for 
a server. The primary needs of the resulting system is to provide: email 
and email lists, webpages and file synchronization.


I've been administering a linode instance with nixos for some time, but 
prefer guixsd because freedom, herd and guile. Recently I got my hands 
on some simple server-ish hardware and would like it to run guix. As of 
now I cannot find the time to make the change in addition to adding 
capabilities; which is why I'm asking here.


As I currently see it most work will be with configuring something like 
postfix and maybe discourse or similar.


If you're interested, make contact and we'll hammer out what can be done 
at what price and time and other details.


Thomas Sigurdsen