;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Marius Bakke ;;; Copyright © 2023 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu build icecat-extension) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix build-system trivial) #:export (make-icecat-extension)) (define* (make-icecat-extension pkg #:optional (pkg-output "out")) "Create an Icecat extension from package PKG and return a package that, when installed, will make the extension contained in PKG available as an Icecat browser extension. PKG-OUTPUT specifies which output of PKG to use." (package (inherit pkg) (location (package-location pkg)) (name (string-append (package-name pkg) "-icecat")) (native-inputs '()) (inputs '()) (propagated-inputs (package-propagated-inputs pkg)) (outputs '("out")) (build-system trivial-build-system) (arguments (list #:modules '((guix build utils)) #:builder #~(begin (use-modules (guix build utils)) (let* ((addon-id #$(assq-ref (package-properties pkg) 'addon-id)) (moz-app-id "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}") (search-dir (string-append #$output "/lib/icecat/extensions/" moz-app-id))) ;; Icecat's iterates over `search-dir` for directories. If a ;; directory's name is not a valid add-on ID, it is ignored. See ;; `DirectoryLocation::readAddons()` in XPIProvider.jsm. ;; This directory has to be a symlink, because Icecat's ;; `_readLinkFile(aFile)` calls `normalize()` only if `aFile` is a ;; symlink. ;; Normalizing is required because Icecat compares the add-on path ;; against its local database to know if there is an extension ;; update. We want the add-on path to be the package store path, ;; so that a path change is detected every time the package is ;; updated. See `updateExistingAddon()` in XPIDatabase.jsm, with ;; our patch `icecat-compare-paths.patch`. ;; We don't want the add-on path to be the profile store path, ;; which would change too often. We don't want the add-on path to ;; be hard-coded either because it would never change (but it ;; wouldn't make sense anyway). (mkdir-p search-dir) (symlink (in-vicinity (ungexp pkg pkg-output) addon-id) (in-vicinity search-dir addon-id)))))))) u/system/images?id=d5073fd113c621fe0b55382f7dd336ee118e759f'>gnu: Add platform support....* gnu/platform.scm: New file. * gnu/platforms/arm.scm: Ditto. * gnu/platforms/hurd.scm: Ditto. * gnu/local.mk (GNU_SYSTEM_MODULES): Add them. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Mathieu Othacehe 2021-08-29Migrate to the new 'targets' field of bootloader-configuration....The old 'target' field is deprecated; adjust the sources to use the new 'targets' one instead. * doc/guix-cookbook.texi<target>: Replace by 'targets'. * gnu/bootloader/grub.scm: Likewise. * gnu/installer/parted.scm: Likewise. * gnu/machine/digital-ocean.scm: Likewise. * gnu/system/examples/asus-c201.tmpl: Likewise * gnu/system/examples/bare-bones.tmpl: Likewise * gnu/system/examples/bare-hurd.tmpl: Likewise * gnu/system/examples/beaglebone-black.tmpl: Likewise * gnu/system/examples/desktop.tmpl: Likewise * gnu/system/examples/docker-image.tmpl: Likewise * gnu/system/examples/lightweight-desktop.tmpl: Likewise * gnu/system/examples/vm-image.tmpl: Likewise * gnu/system/examples/yggdrasil.tmpl: Likewise * gnu/system/hurd.scm: Likewise * gnu/system/images/hurd.scm: Likewise * gnu/system/images/novena.scm: Likewise * gnu/system/images/pine64.scm: Likewise * gnu/system/images/pinebook-pro.scm: Likewise * gnu/system/images/rock64.scm: Likewise * gnu/system/install.scm: Likewise * gnu/system/vm.scm: Likewise * gnu/tests.scm: Likewise * gnu/tests/ganeti.scm: Likewise * gnu/tests/install.scm: Likewise * gnu/tests/nfs.scm: Likewise * gnu/tests/telephony.scm: Likewise * tests/boot-parameters.scm: Likewise * tests/system.scm: Likewise Maxim Cournoyer 2021-08-28images: pinebook-pro: Fix the agetty baud rate....* gnu/system/images/pinebook-pro.scm (pinebook-pro-barebones-os): Fix the agetty baud rate. Mathieu Othacehe 2021-02-21image: Add rock64 support....* gnu/system/images/rock64.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. Marius Bakke 2021-02-17scripts: system: Accept <image> records as input....* guix/scripts/system.scm (system-derivation-for-action): Replace "os" argument by "image". Remove "image-size", "image-type", "label" and "volatile-root?" arguments. (perform-action): Ditto. (process-action): Construct the <image> record and pass it to "perform-action" procedure. * tests/guix-system.sh: Adapt accordingly. * gnu/system/images/hurd.scm: Return the default image. * gnu/system/images/novena.scm: Ditto. * gnu/system/images/pine64.scm: Ditto. * gnu/system/images/pinebook-pro.scm Ditto. Mathieu Othacehe