Re: Trying to define a package
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
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 Hockwrote: > 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
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 Hultenwrote: > 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
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
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)
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