Re: Difference between guix/build and guix/build-system
Am 11.05.24 um 16:45 schrieb Vasilii Smirnov: where ${name} can be "cmake", or "node", etc... So, the question is: what's the reason for this split? For building, parts need to be "packaged" and put into the build-environment. (Can't tell which directory is which one.) If I want to write a new build system, what code should I put in "guix/build", and what in "guix/build-system"? Best is to base on an existing build system close to the one you want so create and do like this does. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Use of python pip packages and python virtual environments in guix
Am 18.09.23 um 17:07 schrieb Timothee Mathieu: I am new to guix, and I would like to use the containers in order to have reproducible development environments for python. I'm using python virtual env on top of guix, automated using direnv. Anyhow I did not yet try to setup containers for this. Anyhow, my .envrc might be a starting point: strict_env # Colors constants __NONE="$(tput sgr0)" __GREEN="$(tput setaf 2)" __BOLD=$(tput bold) use_guix --ad-hoc glibc-locales python-wrapper python-pip python-virtualenv \ python-pyyaml # add whatever you need __has_pyenv=no if [ $(ls $(direnv_layout_dir) 2>/dev/null | grep --count python || true) != 0 ] ; t hen __has_pyenv=yes fi if [ $__has_pyenv != yes ] ; then echo "${__GREEN}${__BOLD}Setting up virtual environment${__NONE}" layout_python3 python -m pip install -U pip else path_add PATH $(ls -d $(direnv_layout_dir)/python-*/bin) fi # more setup if [ $__has_pyenv != yes ] ; then # do this after cloning debops echo "${__GREEN}${__BOLD}Installing packages${__NONE}" python -m pip install -r requirements.txt fi -- Regards Hartmut Goebel | Hartmut Goebel |h.goe...@crazy-compilers.com| |www.crazy-compilers.com | compilers which you thought are impossible |
Re: Putting a file into system image ~user/ but not on reconfigure
Hi Efraim, hanks for sharing your thoughts. Meanwhile I learned two things: * vagrant needs adjustment to detect and support Guix, which is intended by vagrant and vagrant is extensible for this case, see https://github.com/hashicorp/vagrant/tree/main/plugins/guests * just replacing the "vagran isecure key" in /etc/ssh/auhorizedkeys.d/ is of not much use: after reboot the file is restored. So looks like I need to further investigate this topic in more depth. -- Regards Hartmut Goebel | Hartmut Goebel |h.goe...@crazy-compilers.com| |www.crazy-compilers.com | compilers which you thought are impossible |
Re: Putting a file into system image ~user/ but not on reconfigure
Hello Efraim, Am 13.08.23 um 16:58 schrieb Efraim Flashner: I feel compelled to ask if the key must be in ~vagrant/.ssh/authorized_keys or if /etc/ssh/authorized_keys.d/vagrant is acceptable. I'm afraid it needs to be in ~vagrant/.ssh/authorized_keys: When first booting the machine, Vagrant logs into it and replaces the key. Thus the user vagrant must be allowed to change the respective file. Why are you asking? What would be easier (in respect of not re-installing the key), if putting the key into /etc/ssh/authorized_keys.d/vagrant would work? Also, could you use /etc/services or another file in /etc/static as a marker that the system has been booted at least once before? Such a marker would be okay. Anyhow to make this work, some respective new service would need to detect this quite early, before /etc/service gets linked. Otherwise the service could not distinguish between "first" and "at least once"- Or did I misse something? Is there some means of ordering service execution/start? -- Regards Hartmut Goebel | Hartmut Goebel |h.goe...@crazy-compilers.com| |www.crazy-compilers.com | compilers which you thought are impossible |
Re: Putting a file into system image ~user/ but not on reconfigure
Am 10.08.23 um 14:12 schrieb wolf: I guess you could have a script that would use the existence of the key itself as a marker. In that case you would likely want to recreate it if the marker (key) got deleted, No! The key must not be recreated. The key is expected to be replaced by a new one when the box will become a machine. Thus, using the key as a marker is not possible, as the would recreate the insecure key on next reboot. The key must never ever be put into back into place. I do not have much experience with Vagrant, but I assumed the general idea for these kind of systems declarative systems is to just recreate the when updates are required. Is it expected to actually run guix reconfigure inside the VM? This depends on how one uses the virtual machines :-) And even if it is not expected to run guix reconfigure on it: If one does, this but open a front door to the system - which is not what one wants. Anyhow, thanks for sharing thoughts, -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Putting a file into system image ~user/ but not on reconfigure
Hi, sorry for the hard to understand subject. I need to put a file into a system image (into ~user) which will not be recreated or touched when running "system reconfigure" later, even if not existent. So this is some kind of "one-time service", removing itself on first boot. Any ideas how to do this? (One could imagine some self-destructing script creating the file. Anyhow AFAIK this script would be recreated on next "system reconfigure". Als leaving some "script was run" marker is a bad option, as removing the marker would recreate the file, which is to be avoided.) Background: I aim to create Vagrant boxes (machine templates) based on guix system images. This works quite well so far, using image format qcow2, putting the image and some simple files at the right place and the vagrant-libvirt plugin for running the machine. Using a symlink I can even avoid copying the boxes disk image out of the store — vagrant will create a copy when creating a machine anyway. Now for vagrant being able to log into the machine when starting it (and eventually "provision" the machine = execute some commands) boxes are expected to include an "insecure ssh key" in ~vagrant/.ssh/authorized_keys. Vagrant will replace this key by another one when creating a machine. So this behavior is reasonable secure. One possible solution I found (not yet tested and tools not yet in guix) is to use one of the guestfstools ([1]https://libguestfs.org/) to copy the file into the image. Anyhow this would require copying the box out of the store to get a writable file. -- Regards Hartmut Goebel | Hartmut Goebel | [2]h.goe...@crazy-compilers.com | | [3]www.crazy-compilers.com | compilers which you thought are impossible | References 1. https://libguestfs.org/ 2. mailto:h.goe...@crazy-compilers.com 3. http://www.crazy-compilers.com/
Re: Packaging a rust program with a lot of crates
Am 15.07.23 um 17:10 schrieb Paul Collignan: It is a little bit different for Rust packages, as described in the documentation: "In the rust ecosystem it is common for multiple incompatible versions of a package to be used at any given time, so all package definitions should have a versioned suffix. The versioned suffix is the left-most non-zero digit" If I understand this correctly, one should keep all packages from 0.1 to 0.46 (for example, if the versions are numbered like this). But from 1.1 to 1.46 you only keep the last one. This is correct. Anyhow, please keep in mind that the variable name for the 1.x package will stay "some-crate-1". This follows the idea of semantic versioning, which rust follows. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Store path in package definition
Am 25.08.22 um 21:21 schrieb Saku Laesvuori: I'm writing a package definition for [passff-host](https://github.com/passff/passff-host) which requires a file to reference another file with an absolute path (passff.json must reference passff.py). How can I get the resulting store path to patch it to the file? I would assume I have to do something with gexps but couldn't figure it out by reading the documentation. Please have a look at - phase set-python-file-name of python-ipykernel or - phase call-wrapper-not-wrapped-snakemake of snakemake HTH -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Two copies of same library in store after cleaning generations and gc
Am 14.08.22 um 13:31 schrieb Mike Jones: So my question boils down to: why is the copy of mesa in ~/.guix-profile/lib different to the one to which programs in the same profile are linked? And is there any guix command I can use to inspect exactly how/why these copies differ? I assume you installed mesa into your profile — or some other package installed in your profile has mesa as „propagated input“. Try „guix package -l“ to see whether it is installed in your profile. -- Regards Hartmut Goebel | Hartmut Goebel |h.goe...@crazy-compilers.com| |www.crazy-compilers.com | compilers which you thought are impossible |
Re: Erlang Development with Guix
Am 30.06.22 um 03:27 schrieb jgart: Is there a guide that shows the particularities of using erlang with guix for development, or a mailing list thread I can read? The rebar-build-system I created was published just a few weeks ago. Anyhow, I'm not a Erlang/OTP user, so this build-system might still need improvement. Any help on this is welcome. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: wordpress
Am 20.06.22 um 11:57 schrieb Gottfried: Does it mean we can't install wordpress in Guix or is there a workaround? I doubt wordpress can reasonably be used with a document-root on a read-only filesystem (which Guix creates). The reason for this is that many plugins create additional files below document.root, depending on the configuration you make via the Web interface. E.g. if you add custom CSS, the plugin will create a file containing the CSS. Workaround would be to configure the webserver service to serve a website from a read-write-able document-root. See https://guix.gnu.org/manual/en/html_node/Web-Services.html for examples. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: with every guix pull icedove updating I have to set up icedove again
Am 31.03.22 um 20:25 schrieb Gottfried: Should I delete the profiles number 2, 5, 6, 7, 8 ?which ask me to set icedove up? Is it save to delete profiles? According to your list, these profiles are not yet set up. Which means: they don't hold any mails or other relevant data. So I assume they can safely be removed. And yes, you can also delete the files of this profile. BTW: Please don't send messages to help-guix-*request*@gnu.org - this is just the subscription automat. -- Regards Hartmut Goebel | Hartmut Goebel |h.goe...@crazy-compilers.com| |www.crazy-compilers.com | compilers which you thought are impossible |
Re: Run .deb or .rpm packages
Hi, Le 8 décembre 2021 14:46:24 GMT-05:00, "André A. Gomes" a écrit : --8<---cut here---start->8--- $ sudo dpkg -i foo-package.deb dpkg: error: unable to access the dpkg database directory /gnu/store/902w5i1j38r33l6p871dyhng19zj1phk-dpkg-1.20.9/var/lib/dpkg: Read-only file system --8<---cut here---end--->8--- Any ideas? I don't know much about .deb or .rpm. Beside Julien's objections: There might be legitimate use of installing .deb or .rpm packages and they might even work. E.g. i one wants to install free software provided as a .deb only and at the moment does not have the time to create a package definition for it. So, "dpkg" and "rpm" should at least work :-) Regarding the error show above: One would need to add "--localstatedir=/var" to the config flags (not sure whether this would build, then, since most probably "make install" will try to create "/var/lib/dpkg" which will fail in the build container. -- Regards Hartmut Goebel | Hartmut Goebel |h.goe...@crazy-compilers.com| |www.crazy-compilers.com | compilers which you thought are impossible |
Re: [package-building] configure: error: can not run /tmp/guix-build-.*
Am 04.12.21 um 17:37 schrieb indieterminacy@libre.brussels: configure: error: can not run /tmp/guix-build-preccx-2.60.drv-0/precc-2.60/src/config.sub AFAIK confgure writes a more detailed logfile, which should provide you with a more detailed error message on *why* it is failing. Please have a look there. Without knowing the cause, any solution would be fishing in murky waters. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Logging and guix-home
Am 13.11.21 um 02:45 schrieb Fredrik Salomonsson: But now that I use guix home, I have migrated them to shepherd. With that I lost the handy logging you get from systemd. To mitigate that for shepherd I'm right now using the #:log-file parameter, as suggested in this thread [1], to send the output to a file. Does setting #:log:file to /dev/stdout work for you? ((Just an idea, I've not tested it) -- +++hartmut | Hartmut Goebel| | | hart...@goebel-consult.de | www.goebel-consult.de |
Re: bluez builds successfully but check fails on test-crypto.c
Am 05.11.21 um 17:29 schrieb luke hayes: I am not sure if this is a bug or a problem related to my specific machine. What is the best way to fix this issue? In these cases I typically try to understand the test-case (source) to see whether this is an issue related to guix. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Crates versions and their replacement
Am 03.10.21 um 09:02 schrieb phodina: Now comes the question. How often should it be use and what are the pros and cons? I suggest to use this only if required, since versions are defined to strict. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Issue about building python on a foreign distro
Am 22.08.21 um 13:27 schrieb Wade Zhang: Recently I installed Guix on a Debian buster host. I want to install all build dependencies by Guix. Since I use pyenv to manage Python versions, I have to install Python outside Guix. Now I get stuck during the Python installation. I never used pyenv, but Python's virtual environments a lot. Lately I moved on to "direnv" for most projects, as this matches my "directory based" working style. Maybe you want to give it a try? A typical ".envrc" file for me looks like this (combining both a guix profile and a virtual env for developing the current package) ...8<--- use_guix --load-path=../guix-channel \ -v 1 --keep-failed \ --ad-hoc glibc-utf8-locales python-wrapper python-pip python-virtualenv \ python-pep-adapter sequoia python-pyyaml python-requests \ python-setuptools python-setuptools-scm python-wheel python-babel \ python-pytest@5.3.5 python-pytest-cov python-pytest-mp \ python-requests-mock python-filelock python-pexpect layout_python3 --system-site-packages pip install -e . path_add PYTHONPATH $PWD ...8<--- -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: error: "cannot download for method git-fetch"
Am 24.02.21 um 14:15 schrieb zimoun: Maybe I misread, but it is not possible to refresh packages with ’git-fetch’ as source because of: IC. Thanks. (Maybe there should be a better error message for this case. But ATM I don't feel the power for even creating an bug report.) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
error: "cannot download for method git-fetch"
Hi, once again, my pre-inst-env seems to be incomplete, When running $ ./pre-inst-env guix refresh -u vis gnu/packages/text-editors.scm:81:2: error: cannot download for this method: #system guile git)> Updating some other package, which is using http-fetch, works. So this seams to be related to git. Looks like something missing. Any hints? The manifest for the profile I'm using for development is: (specifications->manifest '("recutils" "nss-certs" "openssl" "bzip2" "gzip" "zlib" "lzlib" "sqlite" "libgcrypt" "pkg-config" "guile" "util-linux" "glibc-utf8-locales" ;; propagated-inputs "gnutls" "guile-gcrypt" "guile-git" "guile-json" "guile-lzlib" "guile-semver" "guile-sqlite3" "guile-ssh" "guile-zlib" )) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Integrate Guix GUI programs into foreign distro's desktop?
Am 06.12.20 um 19:46 schrieb Hartmut Goebel: > What is the correct way for doing so? What needs to be installed in the > profile to make this work smoothly? I made it work by adding the follwing code to ~/.bash_profile. This also handles other env-vars and also the case one is running a login-shell in an environment. if [ -n "$GUIX_ENVIRONMENT" ] ; then # should only come here if a login-shell is started within a guix environ _guix_profile="$GUIX_ENVIRONMENT" elif [ -z "$GUIX_PROFILE" -a -r "$HOME/.guix-profile" ] ; then _guix_profile="$HOME/.guix-profile" elif [ -n "$GUIX_PROFILE" -a -r "$GUIX_PROFILE" ] ; then _guix_profile="$GUIX_PROFILE" fi if [ -n "$_guix_profile" ] ; then source "$_guix_profile/etc/profile" if [ -r "$_guix_profile/lib/locale" ] ; then export GUIX_LOCPATH="$_guix_profile/lib/locale${GUIX_LOCPATH:+:}$GUIX_LOCPATH" fi if [ -r "$_guix_profile/share" ] ; then export XDG_DATA_DIRS="$_guix_profile/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS" fi if [ -r "$_guix_profile/etc/ssl/certs/ca-certificates.crt" ] ; then export SSL_CERT_DIR="$_guix_profile/etc/ssl/certs" export SSL_CERT_FILE="$_guix_profile/etc/ssl/certs/ca-certificates.crt" export GIT_SSL_CAINFO="$SSL_CERT_FILE" fi fi unset _guix_profile -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Integrate Guix GUI programs into foreign distro's desktop?
Am 07.12.20 um 12:32 schrieb Bonface M. K.: In that case, you'd just modify the path to point to your profile's bin. Another way would be to source the /etc/profile which basically set's all these paths for you. This is what I would expect, but this is not the case. E.g. when installing "dino", a GTK application providing .desktop file, XDG_DATA_DIRS is not defined in $GUIX_ENVIRONMENT/etc/profile (same for a profile) $ guix environment --ad-hoc dino # Proof dino "somehow" has a search-path definition $ grep -E 'XDG|GTK' $(which dino) export XDG_DATA_DIRS=… export GTK_PATH=… # Proof environment has a "share" directory and there are .desktop files $ ls -F $GUIX_ENVIRONMENT bin@ etc/ include@ lib/ manifest share/ $ ls -F $GUIX_ENVIRONMENT/share/applications/ im.dino.Dino.desktop@ mimeinfo.cache@ # Proof XDG_DATA_DIR is not set for the environment $ grep -E 'XDG|GTK' $GUIX_ENVIRONMENT/etc/profile $ # no results Wrt QT, I'm not exactly sure how to help with that. I barely use applications that use QT(most of the things I run use GTK). As shown above, this does not always hold even for GTK applications. The variables defined in the /etc/profile set the correct paths wrt your actual profile... Have you installed gtk+ in your profile? This package is the one defining search-path GUIX_GTK3_PATH. (When installing gtk+ in my environment/profile, I also get GUIX_GTK3_PATH defined. gtk+ propagates atk, which propagates glib, which defines search-path XDG_DATA_DIR - which is why XDG_DATA_DIR is also defined in the etc/profile.) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Integrate Guix GUI programs into foreign distro's desktop?
Hi, What I do is to ensure that I have the path to the Guix binaries configured properly: --8<---cut here---start->8--- export PATH="$HOME/.config/guix/current/bin:$HOME/.local/bin:$PATH" Thanks, anyhow this does not lock like what I' seeking. I want to add GUI programm, which are isntalled in a profile, while your example only adds guix itself - not any profile. And what about not GUIC_LOC_PATH, XDG_*_DIRS, and all the other env-vars. How to avoid conflicts with QTDIRS5, QT_PLUGIN_PATH? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Integrate Guix GUI programs into foreign distro's desktop?
Hi, I'd like to use a Guix profile containing some GUI programs (esp. ungoogle-chromium) as part of my foreign distro's desktop environment. What is the correct way for doing so? What needs to be installed in the profile to make this work smoothly? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Zoom
Am 13.11.20 um 19:15 schrieb Roy Lemmon: > Can anyone give me hints on getting Zoom installed with sound ? Don't do it, it's spyware. And you don't even need it: When accessing Zoom via the Webbowser, there should also be a tiny, tiny Link "Use Zoom in Browser." -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Packaging a python package that is using setuptools_rust
Am 19.10.20 um 12:52 schrieb Hamzeh Nasajpour: > running build_rust > error: [Errno 2] No such file or directory: 'cargo' > command "python" "-c" "import setuptools, > tokenize;__file__='setup.py';f=getattr(tokenize, 'open', > open)(__file__);code=f.read().replace('\\r\\n', > '\\n');f.close();exec(compile(code, __file__, 'exec'))" "build" failed with > status 1 This looks like cargo is not found on the path, although it should be there. You could validate $PATH like this: Add a phase before the build-phase, containing just "(pk (getenv PATH))". > Do you have any idea? I should add the rust dependencies to `native-inputs` > or `inputs` of `etebase-py`? It must be a native-input, since cargo and rustc are expected to run on the build system. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: how to define inputs for python packages
Am 28.09.20 um 08:05 schrieb Reza Alizadeh Majd: > is there any rule that I missed to choose a dependency as an `input` or > as a `propageted-input` one? This is described in the manual: https://guix.gnu.org/manual/en/html_node/Python-Modules.html#Specifying-Dependencies -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: “Managing Servers with GNU Guix: A Tutorial”
Am 04.11.19 um 15:36 schrieb Ludovic Courtès: > Jakob wrote a great tutorial on how to use ‘guix deploy’ to deploy Guix > System to one machine or to several virtual private servers (VPSs): > > https://guix.gnu.org/blog/2019/managing-servers-with-gnu-guix-a-tutorial/ Great tutorial! Thanks. On questions: For the first example: Does guix installed on the manged host need to be up-todate? Or will the update be done as part of the "operating system closure", which is send to the managed host? I spotted a minor error/typo, which is a tiny bit confusing for newbies: In the first example it reads "|(define os …" whereas in the text below "%system" is referenced. (Also ||"/home/alyssa/.ssh/server_key" is a bit misleading. I suggest "…/key-for-server")| || -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: “Guix Profiles in Practice”
Am 31.10.19 um 12:25 schrieb Pierre Neidhardt: > David that the manifest be installed to ~/.guix-develop-profile. I > suggest instead that we all manifest have their own folder, > e.g. according to their path. Dave did not write about any path, but wrote: > Running 'guix develop' would check for a profile > symlink with some canonical name, for example '.guix-develop-profile'. > If it exists, it applies the environment variables and spawns a > subshell. If it doesn't exist, it looks for a 'develop.scm' file > (canonical name TBD), builds the profile, symlinks it to > '.guix-develop-profile', and then does the prior steps. The tool This only makes sense, of the link and the .scm file are places in you project's worktree (aka checkout). Otherwise one could have a single "guix-develop-profile" only. At least this is what I intend. This would keep the definition and the links to the profiles in the project. If I remove the worktree, the link to the profile will vanish, too, and the garbage collector can collect it. Whereas if the profile is stored in e.g. "~/.guix-extra-profiles/" this will end up in stale profiles in this directory. > I suggest instead that we all manifest have their own folder, > e.g. according to their path. > > For example > > - foo/bar/manifest.scm -> ~/.guix-extra-profiles/foo/bar > - foo2/bar/manifest.scm -> ~/.guix-extra-profiles/foo2/bar What the base for "foo/bar" be in your examples? For me, worktrees may have paths like ~/projects/customerA/project42/mixmas/ /mnt/server/outgroup/projects/customerA/project42/mixmas/ Also I strongly vote against using yet another "top-level" directory like ~/-guix-extra-path. There is the XDG directory standard and I suggest to stick with it. Thus IMHO this should be $XDG_DATA_HOME/guix/profiles or $XDG_CONFIG_HOME/… - but I stell prefer having this within the project's worktree. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: “Guix Profiles in Practice”
Am 27.10.19 um 22:08 schrieb Pierre Neidhardt: > From the command line, we could do > > guix install-manifest my-project IC. This is also a good way, esp. if one uses the same "my-project" manifest for several locations. But this way you can not make the manifest part of the project source. > Also I believe the Guix should store the channel specifications into the > profile when installed from a manifest. It would make everything simpler. ACK -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: “Guix Profiles in Practice”
Am 27.10.19 um 20:06 schrieb Pierre Neidhardt: > I think it's useful to support multiple directories since it's likely > that users will work on multiple projects. > > See what I've done for Emacs-Guix. The (configurable) file structure > looks like this: > > - ~/.guix-extra-profiles/my-project > - ~/.guix-extra-manifests/my-project > - ~/.guix-extra-channels/my-project AFAIU David (and this is what I meant, too), is to have the "develop.scm" (or ".guix-develop-profile.scm") in the project working tree. This would allow to easily maintain the profile together with the source and a simple workflow like cd /path/to/my-project guix develop or guix develop /path/to/my-project > Then I can do "guix-install-manifest", Emacs prompts me for a manifest > name in ~/.guix-extra-manifests (with completion), and does all the > necessary to install it in ~/.guix-extra-profiles. It dumps the channel > specification in ~/.guix-extra-channels/my-project. IMHO this is a too emacs-centric approach. We should also have in mind those not using guix-mode and not even using emacs. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: “Guix Profiles in Practice”
Am 25.10.19 um 12:24 schrieb Ludovic Courtès: > Here’s a new blog post by Pierre Neidhardt entitled “Guix Profiles in > Practice”: Great! I was not aware about the benefits of profiles and mostly use environments. Now I'm eager to learn how to mimic "guix envorinment some-package", whihc oulls in all build dependencies of "some-package". Any hints? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: “Guix Profiles in Practice”
Am 25.10.19 um 18:36 schrieb Thompson, David: > tool "just work." Running 'guix develop' would check for a profile > symlink with some canonical name, for example '.guix-develop-profile'. > If it exists, it applies the environment variables and spawns a > subshell. If it doesn't exist, it looks for a 'develop.scm' file > (canonical name TBD), builds the profile, symlinks it to > '.guix-develop-profile', and then does the prior steps. The tool I like this idea :-) I suggest naming the file like the directory: .guix-develop-profile.scm (altough not sure whether the filenname should have the leading removed or not) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Tons of packages get rebuild
Am 23.10.19 um 20:07 schrieb Marius Bakke: > Does your /etc/guix/acl contain an entry such as […] > (q #8D156F295D24B0D9A86FA5741A840FF2D24F60F7B6C4134814AD55625971B394#) I only had (curve Ed25519) (q #1C4515A7B9D775C7B35AE56A4B9CC58E77751D95C2DCACDFE0BD98E20513FE6B#) which looks like I did miss some key-change. > Does 'guix weather' give any clues? Without the "#8D156F29" key, guix weather reports: 80.0% substitutes available (8994 out of 11244) 0.0% (0 out of 2250) of the missing items are queued Running guix weather took approx. 10,5 minutes. Adding the "#8D156F29" key gave the same values. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | signature.asc Description: OpenPGP digital signature
Re: Tons of packages get rebuild
Am 22.10.19 um 05:27 schrieb Maxim Cournoyer: > I can only think that one of the packages you updated as part of your > work on the KDE Framework must be a dependency of many others (such as > Python, or another core tool)? Of course the updated package have many dependencies. But I would expect all these packages to be build at ci.guix.gnu.org and be fetched from there. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Tons of packages get rebuild
Hi, I'm again experiencing wired behavior on my system: When trying to rebuild KDE Framework based on c37c8ef (2019-10-18 20:35:28), tons of packages get rebuild, including ruby, llvm-8.0.0, gcc, glibc, openssl, mariadb, linux-PAM, etc. Since my computer is not quite fast, this is running since Saturday morning already. Looks like I've broken my setup. Daemon is running with guix-daemon --build-users-group=guixbuild --substitute-urls=https://ci.guix.gnu.org $ /usr/local/sbin/guix-daemon --version guix-daemon (GNU Guix) 1.0.1-6.0ed97e6 $ ./pre-inst-env guix --version guix (GNU Guix) 1.0.1.3831-dec845 -- which is my branch based on c37c8ef Building packages with e.g. $ ./pre-inst-env guix build -K attica What's wrong here? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: editing /etc/sudoers
Am 17.06.19 um 01:20 schrieb Jeff Bauer: > Okay, to make it more clear: I was having a problem > trying to use visudo on a native Guix System. The > visudo packaged with the Guix System cannot actually > edit a sudoers file because it relies on /usr/bin/vi, Try VISUAL=/path/tp/my/editor visudo See the man-page for details -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: removal of induces installation of other package
Am 04.11.2018 um 23:34 schrieb Leo Famulari: > On Sun, Nov 04, 2018 at 11:20:22PM +0100, Hartmut Goebel wrote: >> I experienced an even more irritating behavior: >> >> On a system which I hadn't touched for long, I switched a profile - from >> an old one it's predecessor. Even in this case guix started to download >> substitutes and build software. > To clarify, `guix package --switch-generation NNN` required something to > be built? Exactly. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: removal of induces installation of other package
Hi, Am 04.11.2018 um 22:06 schrieb Leo Famulari: > If you have updated Guix (`guix pull`) since your last profile was > created, the collection of software required to build profiles may have > been updated. So, now you need that software in order to make the new > profile. > > It's a bit counterintuitive that removing a package may require > something new, but it's expected behaviour for Guix. I experienced an even more irritating behavior: On a system which I hadn't touched for long, I switched a profile - from an old one it's predecessor. Even in this case guix started to download substitutes and build software. I find this behavior extremely irritating. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Installation: Load non-free wifi firmware (iwlwifi)
Am 25.03.2018 um 07:34 schrieb Chris Marusich: > As Ludo mentioned elsewhere, using a dongle is one good option. What > prevents you from using a dongle? Why should I punish myself just for to says "Hey, I'm using only free software"? This benefits nobody! [1] Please don't get me wrong: free software is to be preferred and we should push users and vendors towards it. But if for any reason one owns a device demanding non-free firmware, using e.g. a dongle would not benefit anybody.[1] The vendor already has the money. In contrary: buying a dongle adds to environmental pollution and sweating in poor countries. The only thing we achieve is distracting users from free software since it "doe not work". [1] Given that you basically "trust" the non-free software. Bu if you don't, you'll not going to use it anyway. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Posts in languages other than English on help-guix?
Am 03.03.2018 um 11:45 schrieb Hartmut Goebel: > +1 @Ludo: Please use this genter-neutral translation. Thanks. @Ludo Correction: I've just seen Andreas' translation from 2018-03-03 11:00, which is okay, too. That one works around the gender-issue be translating more freely and should be preferred IMHO, since it is less arguable. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Posts in languages other than English on help-guix?
Am 02.03.2018 um 21:31 schrieb ng0: > To not pick the generischer Maskulinum (which would be contrary the rest of > our > Documentation guidelines), I'd write: > > ("de" > "Melden Sie sich bei der „Help“-Mailingliste an, um per E-Mail Hilfe von > anderen > GuixSD- und Guix-Nutzer:innen zu bekommen. Sie können Nachrichten auch auf > deutsch > schicken.") +1 @Ludo: Please use this genter-neutral translation. Thanks. (One could argue whether the gender-gap should be a star, underscore, colon or a full-stop. I'm used to a full stop, but this is secondary.) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Avoiding the need to set user passwords for 'guix system vm-image'
Am 01.02.2018 um 02:41 schrieb George myglc2 Clemmer: > Is there a way to pre-populate user accounts with public keys? Yes, there is: Just search the manual for "authorized-keys" to find the documentation. You may also want to have a look at the real-world examples <http://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/berlin-new.scm> and <http://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/modules/sysadmin/people.scm>. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Seeking best-practice for managing guix-defined VMs
Hi, I wonder about the best-practice for managing VMs built using `guix system vm`. My idea is to have the system-configuration on the (foreign distro) host and build and run VMs using `guix system vm`. Background is that for some reasons I can not use GuixSD on the host, but wont to use guix for managing the actual work-horses. * For specifying the parameters of the host-side of the VM-emulation, and for starting the VM with the appropriate parameters, I can add a wrapper shell-script. Is there a better way than a shell-script? * When updating the config, the currently running VM needs to be shut down. What are good ways to handle this? How to notice, which is the correct VM to shut down (this one's "predecissor")? * Over time, the store will fill up with `xxx-run-vm.sh` scripts. Will these be garbage-collected? (I assume not.) What are good ways to keep track of scripts and discard those no longer needed (and garbage-collect)? * How to handle "secrets", which need to go into the machine? Obviously it's not a good idea to have them in a system-declaration. OTO the VM's disk gets discarded with the next system generation. * Is using `guix system vm` the wrong approach at all? Should I better use `vm-image` or `container`? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Introducing GNUPaste
Am 14.12.2017 um 19:37 schrieb Kristofer Buffington: > Currently the frontend uses twitter bootstrap + jquery and highlightjs > from a CDN. If the default is to this stull, please consider *including* it into the software or as part of the installation procedure. Using CDN is obeying user privacy, since it allows these CDNs to track users. Thanks. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Using a "guix publish"er as a proxy?
Am 30.10.2017 um 10:30 schrieb Ludovic Courtès: > That cannot be done currently. Rethinking this, this might even be hard to solve. Since the "client" downloads a list of all existing substitutes, the proxy would need to fetch the substitutes from the remote side on demand. Probably this is not worth the effort for now. > However, what you can do is use the two URLs: > > --substitute-urls="http://guix-buiilder.local: https://berlin…; This is what I'm currently using. But if is one of the servers listed there is lagging, this delays the build process. And every local system will reach out to the remote servers again. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Should I upgrade root user's guix too?
Am 26.09.2017 um 20:10 schrieb Oleg Pykhalov: > Adonay Felipe Nogueira <adf...@hyperbola.info> writes: > >> As a personal preference, I always do: >> >> # guix pull && guix package -u >> >> ... as root, and then: >> >> $ guix pull && guix package -u >> >> ... as normal user > I wrote a little script to not compile 2 times :-) What should be the use of pulling guix for both root and the user? If you symlink root's `guix` into e.g. /usr/local/bin, all users can use root's version: ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix /usr/local/bin/guix This is described in https://www.gnu.org/software/guix/manual/guix.html#Binary-Installation number 6. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Does the installation image support UEFI boot?
Hi Marius, thanks again. I was able to generating an ISO9660 image and boot from it. :-) Although after partitioning the (virtual) hard-disk, I was not able to boot from that, but this may simply be that I partitioned wrong. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
GuixSD for Raspberry?
Hi, quick answer: What is the status of GuixSD for Raspberry? Searching the web did not help finding this out. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Does the installation image support UEFI boot?
Hi, today I tried installing GuixSD from the installation image (guixsd-usb-install) into a virtual machine which only supports UEFI and EUFI CSM. I "installed" the image as CD-ROM drive, but booting failed. I tried the same with the Debian netinst image which booted. Before I start spending time investigating the issue: Is this expcted to work? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: guix package -u --fallback does nothing
Am 25.07.2017 um 11:35 schrieb Hartmut Goebel: > "guix package -u --fallback" when run another time does *nothing*. "guix > package -l" still show the old generation. "guix package --fallback -u" did the trick. Weird. I'll open a bug-report -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
guix package -u --fallback does nothing
Hi, I'm try upgrading from guix-0.12.0-10.ba2260d but the profile is not upated. I used "guix pull" to get the latest version. "guix package -u" is loading substitutes, fails with this and recommends using --fallback. "guix package -u --fallback" when run the first time did compile some packages, but did not update the profile. "guix package -u --fallback" when run another time does *nothing*. "guix package -l" still show the old generation. "guix package -A guix" lists guix-0.13.0-4.f1ddfe4, so it should be aware of the new package. What is going on here? How can I solve this? I also tried setting SSL_CERT_DIR, SSL_CERT_FILE and GIT_SSL_CAINFO without success. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | 0xBF773B65.asc Description: application/pgp-keys
guix environment: list packages in a file
Hi, I'm wondering if there is a way to pass to `guix environment` the list package names to be installed in a file. I know `--load=file` where file is a scheme file. The drawback of this is that one need to know in which scheme module the package is defined – thus this is much more complicated than imply naming the packages like on the command line. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Hwo to debug and teacking builds?
Am 11.04.2017 um 17:40 schrieb Chris Marusich: > myglc2 <myg...@gmail.com> writes: > >> On 03/28/2017 at 23:10 Chris Marusich writes: >> >> [...] >> >>> export INFOPATH="$HOME/guix/doc${INFOPATH:+:}$INFOPATH" >> export INFOPATH="$HOME/guix/doc${INFOPATH:+:$INFOPATH}" > Yes, you're correct. I mis-typed that. But isn't the result the same? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: trytond
Am 05.04.2017 um 22:03 schrieb Catonano: > > > Has the daemon environment anything to do with this ? Be the source with you;: https://hg.tryton.org/trytond/file/4.2.3/trytond/backend/sqlite/database.py#l261 So it seem the database name needs to be ":memory:" or or you need to use a full-qualified path to avoid the ned to configure the trytond. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Hwo to debug and teacking builds?
Hi, when defining a new package, I often find myself spending *a lot* of time debugging and tweaking the build. E.g. the if the Makefile needs to be modified, or some test-cases adjusted. How do I "get into" the build container, so I can debug, modify files, rebuild and run tests there - in a closed environment (nearly) like the build-daemon has? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: downloading a tarball
Am 24.03.2017 um 23:10 schrieb Ludovic Courtès: > What about this (patch below)? This is definitively an enhancement :-) Thanks! (I did not know, newlines are usable in log-messages. Good to know.) -- +++hartmut | Hartmut Goebel| | | hart...@goebel-consult.de | www.goebel-consult.de |
Re: downloading a tarball
Am 24.03.2017 um 14:14 schrieb Tobias Geerinckx-Rice: >> > HTH - speaking from experience making the same mistake here.. > I suspect most people have. The message isn't as clear as it could be. Either way round the message is hard to read: squezzed between many other message, no line-break and arguable wording. IMHO this should be improved to empower more people. -- +++hartmut | Hartmut Goebel| | | hart...@goebel-consult.de | www.goebel-consult.de |
Re: string-append plus package
Am 31.12.2016 um 00:42 schrieb Ludovic Courtès: > Where does that string you want to build go to? As I already wrote in my initial mail, I need to reference the actual package output's path in some config-file within a system definition (e.g. gnu/system/examples/nginx.tmpl). So assume gnu/system/examples/nginx.tmpl to be: (use-modules (gnu)) (use-package-modules networking web) (define NGINX (package-output (open-connection) nginx)) (define TEST (string-append NGINX "/bin/nginxctl")) If "package-output" is not the correct solution, please tell me the correct one. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: string-append plus package
Am 29.12.2016 um 14:06 schrieb Mathieu Lirzin: > (use-modules (guix) >(gnu packages web)) > (define conn (open-connection)) > (package-output conn nginx) ;returns the actual string Thanks, based on this I made it work -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: string-append plus package
Am 19.12.2016 um 10:47 schrieb Ludovic Courtès: > Hartmut Goebel <h.goe...@crazy-compilers.com> skribis: > >> Am 08.12.2016 um 20:56 schrieb Leo Famulari: >>>> Here is the service-definition I use: >>>> >>>> (nginx-service #:vhost-list >>>>(list (nginx-vhost-configuration >>>> (root (string-append nginx "/share/nginx/html")) >>> I believe that file-append is intended for this use case. >> Maybe, but I can't get it to work. This minimal system declarision fails >> with "In procedure string-append: Wrong type (expecting string): >> #< base: #> 2a236c0> suffix: ("/")>" >> >> (use-modules (gnu)) >> (use-package-modules networking web) >> (define NGINX (file-append nginx "/bin/nginxctl")) >> (define TEST (string-append NGINX "")) > […]For example: > > (scheme-file "foo" #~(foo bar #$(file-append nginx "/foo/bar"))) > > leads to a file “foo” containing: > > (foo bar "/gnu/store/…-nginx-1.2.3/foo/bar") > > HTH! I now found time trying this out. Unfortunately this does not do what I expect. I do not need some string "(foo bar \"/gnu/store/…-nginx-1.2.3/foo/bar\")". I need the string "/gnu/store/…-nginx-1.2.3/bin/nginxctl". No gexpr, no scheme magic, no string representing scheme code. But simply a string containing the path of a file with the package (nginx in the example) which I can assign to some variable (NGINX as shown in the example) and then be used for other string operations (like when defining TEST in the example). I tried adopting your example but #~ always gave me a gexp, which of course I can't use in string-append. The manual says "Gexps are meant to be written to a file …" so I assume "file-append" is the wrong approach at all Could you please correct my above example?. Thanks. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: After installing Java, what should I set JAVA_HOME to?
Hi, as Ricardo already wrote, bootstrapping Java packages from source is a nightmare since gradle requires itself for building. And it requires a lot of other Java packages which again require gradle for building. This Gordian Knot can be cut by someone brave and knowledgeable about the .pom files or whatever is the Java-way for describing the build-process. I tried doing some work on this and gave up. Am 28.11.2016 um 06:15 schrieb Zachary Kanfer: > means that I can no longer follow any tutorial I find, since the > tutorials I'm using are Gradle and Clojure tutorials When using gradle for building your software, you should be able to follow the tutorial. Yo only need to install gradle itself from (what they call) "source. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Why is die "doc" output downloaded when building this package?
Am 05.11.2016 um 22:53 schrieb Ludovic Courtès: > Most likely this is due to a limitation of the current implementation of > grafts: all the outputs of packages on a “grafting path” need to be > downloaded, even if some of these outputs are unused. IC. Thanks for the explanation. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: How to make current icecat less crashy
Am 05.11.2016 um 20:01 schrieb Leo Famulari: > Can we set this option while building? Fedora adds default configs be simply copying [1] a file [2] to |…/browser/defaults/preferences.| [1] http://pkgs.fedoraproject.org/cgit/rpms/firefox.git/tree/firefox.spec#n667 [2] http://pkgs.fedoraproject.org/cgit/rpms/firefox.git/tree/firefox-redhat-default-prefs.js -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Why is die "doc" output downloaded when building this package?
Hi, when building this package, qt-4.8.7-doc (the doc-output of qt-4.7.8) will be downloaded. I do not understand why. (package (name "automoc4") (version "0.9.88") (source (origin (method url-fetch) (uri (string-append "http://download.kde.org/stable/; name "/" version "/" name "-" version ".tar.xz")) (sha256 (base32 "0jackvg0bdjg797qlbbyf9syylm0qjs55mllhn11vqjsq3s1ch93" (build-system cmake-build-system) (arguments `(#:tests? #f)) (inputs `(("qt-4" ,qt-4))) (home-page "http://kde.org/;) (synopsis "") (description "") (license license:gpl3+)) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Seeking working, complete example for a vm
Am 29.10.2016 um 01:57 schrieb Ludovic Courtès: > [... some tipps ...] Thanks a lot. I was able to get a machine up and running and access it. > Maybe we could move the note in > <https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html> > higher, in the description of the ‘vm’ sub-command? I've put "reworking the guix system manual part" on my todo list. I'm afraid, this will not happen soon, tough. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Lots of files in /gnu/store/.links, but not in the store
Hi, I hafe a huge pile of files in /gnu/store/.links/, but they seem not to belong to the store: [root guix]# /usr/bin/ls /gnu/store/.links/ | wc -l 33412 [root guix]# /usr/bin/ls /gnu/store/.links/ | sed s'!^!/gnu/store/.links/!' | xargs -n1 guix gc -d guix gc: error: build failed: path `/gnu/store/.links/0002s1j2dmph0jcqj04z1a39li6fc9glyss3fscwg3nyd5n918q1' is not in the Nix store …… and so on. I't not an error in the sed-command: [root guix]# ls /gnu/store/.links/0002s1j2dmph0jcqj04z1a39li6fc9glyss3fscwg3nyd5n918q1 /gnu/store/.links/0002s1j2dmph0jcqj04z1a39li6fc9glyss3fscwg3nyd5n918q1 How can I get rid of them? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
guix package -r *downloads* new packages?
Hi, I tried cleaning up my system. But when I did "guix package -r …", it started to build derivations and download stuff. How can this happen? Even if that package would still be required by some other package in my profile, it should not download *new* stuff. $ /usr/local/sbin/guix-daemon --version guix-daemon (GNU Guix) 0.11.0 $ guix --version warning: failed to install locale: Invalid argument guix (GNU Guix) 0.11.0 … $ guix package -r guix warning: failed to install locale: Invalid argument The following package will be removed: guix 0.10.0-0.e901 /gnu/store/vw26xsn24jmrijn939fjjk50m5i4hfq3-guix-0.10.0-0.e901 substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/4mdahqlzar6fl9f9cx6i16561x2yclwx-profile.drv /gnu/store/2pn3gbhq7hnnh8kzwblihlw8f34irkgg-module-import.drv /gnu/store/j46m2a8fnxklnckiqkn7r9id6jhs94s1-module-import-compiled.drv /gnu/store/zhdym8ynv7sbr1iiaj917ln1z1ris2zw-gtk-icon-themes.drv /gnu/store/plq1855s06gi77x3qbsyp4217ssn635i-info-dir.drv /gnu/store/n1kdin8g51m6dd7ds8hiv8pgv20dczki-fonts-dir.drv /gnu/store/lcp53c781kk1d6fxr2xm4dhfm1fgv9x1-ca-certificate-bundle.drv /gnu/store/19ngbl2rmvag3dgsii8pkfmhzbg3zbx8-xdg-mime-database.drv The following files will be downloaded: /gnu/store/ik15p8lrbk6jfa3fs3x34m78lj2c0ix1-guile-2.0.11 /gnu/store/1vmfjpapw15nmhdw3hvrkdp8k933j518-module-import-compiled /gnu/store/f9m713c1v5db09b0asxd3mifdskllbri-texinfo-6.1 /gnu/store/ws7ypryg4khzflj2sdnny7kxibvhwll2-gzip-1.8 /gnu/store/ldv60j4g1pndr1x2v4ibyp3la6p62ag7-module-import /gnu/store/qpmxi57hdx4f41xzjr486fk8xmhq2avy-mkfontdir-1.0.7 /gnu/store/sppd07krb4w0bbbwyykwg05dcjn9p2kd-module-import-compiled /gnu/store/zy0wpxgcjqdq4a83v39hpjxa83fdq5lr-module-import /gnu/store/0gj5a9i1vhv5ka3hn1saarmi08b5fvdw-mkfontscale-1.1.2 /gnu/store/akx97sgcvnjrp0ywf02ab4m4wsmdzwyp-glibc-utf8-locales-2.23 /gnu/store/p3vih58h0yvbd9ncbz3igxvs5fy7j2cz-module-import /gnu/store/g7awvh1xgi6by2pgzh2071gcqa42vnv7-module-import-compiled /gnu/store/b4n1n8saa2sjs03xj8i1gmckwiiw04xk-libfontenc-1.1.3 /gnu/store/0jx4nqk33vd8xsgfkfay9vx4zv9pacd0-libffi-3.2.1 /gnu/store/1q64vzsgdnrym40vmghsdy5ybzwkqrlc-libatomic-ops-7.4.2 /gnu/store/8x8bgyyd998w794wkrqb7magm04wbih2-libgc-7.4.2 /gnu/store/9fz1bak63p51ywrgjrcy0xha7hd7g43y-pkg-config-0.29 /gnu/store/fhx6c44qbh8m9ha7ha2jbyags516wvkg-libltdl-2.4.6 /gnu/store/ifqgpapsrh6b7jvd68q0ajirpj941pxp-readline-6.3 /gnu/store/lxv20br9ic8abvqd7fipszbs4mg8hkjv-ncurses-6.0 /gnu/store/ppf3vpc22zvn327dns8m0s3y2bh1smxx-libunistring-0.9.6 -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: Why does installing icedtea-1.13.12 install the docs and jdk, too?
Am 16.09.2016 um 16:49 schrieb ng0: > They are not separated > like for example Debian does it with their -dev version packages. > For the exact reasons someone else has to explain. I guess it's > something about grafting, reproducibility, source provision etc. This is what the docs say about this; Sometimes it is more appropriate to separate the various types of files produced from a single source package into separate outputs. For instance, the GLib C library (used by GTK+ and related packages) installs more than 20 MiB of reference documentation as HTML pages. To *save space* for users who do not need it, the documentation goes to a separate output, called @code{doc}. [...] Some packages install programs with different ``dependency footprints''. […] This allows users who do not need the GUIs to *save space*. […] For me this sound more like a bug. But maybe someone can explain this. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Why does installing icedtea-1.13.12 install the docs and jdk, too?
Hi, I just installed icedtea-1.13.12, and for no reason, icedtea-1.13.12-doc get installed, too, IMHO, only icedtea-1.13.12 should be installed. What is going wrong here? $ ./pre-inst-env guix package -i icedtea-1.13.12 guix package: warning: deprecated NAME-VERSION syntax; use NAME@VERSION instead substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following package will be installed: icedtea 1.13.12 /gnu/store/ms8bgmxhsy8nxdp78lj3pwsz0yr72jva-icedtea-1.13.12 substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: … /gnu/store/mp4hmmbz2sci2m2m114msc7qnyc3skbj-icedtea-1.13.12.drv The following files will be downloaded: /gnu/store/n3gqnkjlk0ssd9i509f7pgszf14v4adh-icedtea-1.13.12-doc /gnu/store/kc6gbjaiby4bfh1id76yyaj2zxm73gfg-icedtea-1.13.12-jdk /gnu/store/1005jvxaqdrrk684f91d7268r05ys426-icedtea-1.13.12 … Downloading n3gqnk...-icedtea-1.13.12-doc (219.0MiB installed)... icedtea-1.13.12-doc 1.2MiB/s 00:09 | 10.6MiB transferred … Downloading 1005jv...-icedtea-1.13.12 (52.4MiB installed)... icedtea-1.13.12 1.3MiB/s 00:28 | 36.6MiB transferred … Downloading kc6gbj...-icedtea-1.13.12-jdk (385.9MiB installed)... icedtea-1.13.12-jdk1.5MiB/s 02:16 | 198.8MiB transferred -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: neo tty layout
Am 29.08.2016 um 16:13 schrieb ng0: > If you think you can do it and have the resources to do so, could you > take on this task? Not any time soon, sorry. -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Blog: http://www.goebel-consult.de/blog/ehrlichkeit-made-in-germany Kolumne: http://www.cissp-gefluester.de/2012-01-in-die-cloud-in-die-cloud-aber-wo-soll-die-sein smime.p7s Description: S/MIME Cryptographic Signature
Re: neo tty layout
Am 13.08.2016 um 18:15 schrieb ng0: > Would it be okay to replicate this for Guix? +1 (Currently trying to learn myself neo :-) -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Blog: http://www.goebel-consult.de/blog/feiertagsarbeit-bei-teletrust Kolumne: http://www.cissp-gefluester.de/2012-04-compliance-bringt-keine-sicherheit smime.p7s Description: S/MIME Cryptographic Signature
How to install an old package version?
Hi, I'm curious about how to install an old package version with guix. Example for what I mean: In e.g Debian, the list of available packages is separate from apt-get (et al.). So I can query all available versions of a package and install the version I need: $ apt-cache madison nginx nginx | 1.9.10-1~bpo8+3 | http://debian.mirror.lrz.de/debian/ jessie-backports/ma nginx | 1.6.2-5+deb8u2 | http://security.debian.org/ jessie/updates/main amd64 Pa Now in guix, the list of available packages is build into guix, there is no external cache. So how can I e.g. install python-2.7.10 after I installed guix 0.11.0, which only defines python-2.7.11? -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Blog: http://www.goebel-consult.de/blog/bewertung-pgp-verschlusselung-bei-web.de-und-gmx Kolumne: http://www.cissp-gefluester.de/2012-04-compliance-bringt-keine-sicherheit
Re: How to force rebuilding a pacakge?
Am 02.06.2016 um 23:08 schrieb Ludovic Courtès: > If the thing was never built anywhere, or if the log was removed from > the servers (that can happen for old builds), then no log files are > found. And what I experienced: If the package has been grafted, the log only contains some "grafting" message. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: How to force rebuilding a pacakge?
Am 02.06.2016 um 16:16 schrieb Thompson, David: > See 'guix build --log-file' I did try this, bit it did not give me a logfile, since nothing was build. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
How to force rebuilding a pacakge?
Hi, I just try (force-) rebuilding some package (python-scikit-learn), I do not succeed: - guix build … simply fetches the package from hydra - guix build --no-substitutes … rebuilds an lot of other stuff , e.g. fontforge-dist - guix build --check … does not provide a meaningful build log - guix build --check --log-file … does not provide a meaningful build log either guix gc -d /gnu/store/*python-scikit-learn* does not change this Any help? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: How to remove old (test) builds from store?
Am 02.06.2016 um 14:02 schrieb Ludovic Courtès: > Alternately (ah ha!): > > guix gc -d $(guix build foo) This would build remove the packages just build, wouldn't it? But I want to clean up old test builds It's not about determinism and not about free disk-space :-) It's just about removing stuff which I know is outdated. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
guix environment --ad-hoc should work the other way round
Hi, being quite new to guix and playing around with `guix environment`. I find it confusing and IMHO it is working the wrong way round: I'd expect it to get me an environment where the specified packages are installed. So I could easily test if a new version of a program works as expected. Instead I get an environment where the tools for building these packages are installed. What I actually need to type | What I'd expect to type -- guix env --ad-hoc python-2.7 | guix env python-2.7 guix env python-2.7 --ad-hoc git | guix env git --XXX python-2.7 (Where XXX is placeholder for something like --for-building ;-) So basically I'd expect the meaning for the packages in front of `--ad-hock` exchanged with those behind. Please note that these are two different views on environments: The currently implemented view i the one of a developer, who wants to set up an environment for building quick. The other view is the one of a user, who wants to test packages. I'm in favor of changing `guix environment` to take the seconds view, since I assume, this will be the case uses much more often. (Even given that there ought to be no difference between developers and users, as most users simply will not even think about something like a build-environments.) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |