Compare commits
1 Commits
master
...
make-authe
Author | SHA1 | Date | |
---|---|---|---|
|
843e2d7d8d |
|
@ -9,9 +9,6 @@
|
||||||
(name "ajgrf"))
|
(name "ajgrf"))
|
||||||
("50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"
|
("50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"
|
||||||
(name "ambrevar"))
|
(name "ambrevar"))
|
||||||
(;; primary: "220F 98D9 5E86 204C 0036 DA7B 6DEC 4360 408B 4185"
|
|
||||||
"F4C2 D1DF 3FDE EA63 D1D3 0776 ACC6 6D09 CA52 8292"
|
|
||||||
(name "hako"))
|
|
||||||
("5DA3 74E1 EADB DC7C 772D 5E65 5E76 B1AD 0FC2 2F93"
|
("5DA3 74E1 EADB DC7C 772D 5E65 5E76 B1AD 0FC2 2F93"
|
||||||
(name "ison"))
|
(name "ison"))
|
||||||
(;; primary: "1BA4 08C5 8BF2 0EA7 3179 635A 865D C0A3 DED9 B5D0"
|
(;; primary: "1BA4 08C5 8BF2 0EA7 3179 635A 865D C0A3 DED9 B5D0"
|
||||||
|
@ -21,8 +18,7 @@
|
||||||
(name "jonsger"))
|
(name "jonsger"))
|
||||||
("D319 C7A9 8F2C 3A11 D9C0 0E30 F369 0CBE 3152 EF58"
|
("D319 C7A9 8F2C 3A11 D9C0 0E30 F369 0CBE 3152 EF58"
|
||||||
(name "pineapples"))
|
(name "pineapples"))
|
||||||
(;; primary: "7E9F 5BF6 1680 4367 127B 7A87 F9E6 9FB8 5A75 54F1"
|
("A420 7B56 C255 109F 2CB3 157E 4990 97AE 5EA8 15D9"
|
||||||
"A420 7B56 C255 109F 2CB3 157E 4990 97AE 5EA8 15D9"
|
|
||||||
(name "podiki"))
|
(name "podiki"))
|
||||||
("1EFB 0909 1F17 D28C CBF9 B13A 53D4 57B2 D636 EE82"
|
("1EFB 0909 1F17 D28C CBF9 B13A 53D4 57B2 D636 EE82"
|
||||||
(name "roptat"))))
|
(name "roptat"))))
|
||||||
|
|
14
Makefile
Normal file
14
Makefile
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
# Copyright © 2022 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
|
# Copyright © 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
|
# Copyright © 2024 Wolf <wolf@wolfsden.cz>
|
||||||
|
|
||||||
|
# nonguix channel
|
||||||
|
channel_intro_commit = 897c1a470da759236cc11798f4e0a5f7d4d59fbc
|
||||||
|
channel_intro_signer = 2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5
|
||||||
|
|
||||||
|
authenticate:
|
||||||
|
echo "Authenticating Git checkout..." ; \
|
||||||
|
guix git authenticate \
|
||||||
|
--cache-key=channels/nonguix --stats \
|
||||||
|
"$(channel_intro_commit)" "$(channel_intro_signer)"
|
99
README.org
99
README.org
|
@ -96,18 +96,20 @@ your configuration.
|
||||||
For some hardware the official Guix installation image won't do
|
For some hardware the official Guix installation image won't do
|
||||||
(e.g. unsupported wifi). You can find a pre-generated installation image
|
(e.g. unsupported wifi). You can find a pre-generated installation image
|
||||||
(time and version in line with upstream Guix), running the nonfree Linux
|
(time and version in line with upstream Guix), running the nonfree Linux
|
||||||
kernel and nonfree firmware, on the [[https://gitlab.com/nonguix/nonguix/-/releases][Releases page]] (see below for important
|
kernel and nonfree firmware, on the [[https://gitlab.com/nonguix/nonguix/-/releases][Releases page]]. Or, you can generate an
|
||||||
note if you use the 1.4.0 release or those created prior to April 2024). Or,
|
installation image from a local checkout of this repository, at a more recent
|
||||||
you can generate an installation image from a local checkout of this
|
commit, with the following command:
|
||||||
repository, at a more recent commit, with the following command:
|
|
||||||
|
|
||||||
#+begin_src sh
|
#+begin_src sh
|
||||||
guix system image --image-type=iso9660 /path/to/this/channel/nongnu/system/install.scm
|
guix system image --image-type=iso9660 /path/to/this/channel/nongnu/system/install.scm
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Like the official Guix installation image, this will produce a read-only image
|
Like the official Guix installation image, this will produce a read-only image
|
||||||
with any changes made stored in memory. Alternatively, a writable image can
|
with any changes made stored in memory. As indicated below, you will need to
|
||||||
be created with the following command:
|
run ~guix pull~ to download the Nonguix package descriptions, so will need
|
||||||
|
enough memory to hold the cached channel code which can be several hundred
|
||||||
|
megabytes. As an alternative, you can create a writable image with the
|
||||||
|
following command:
|
||||||
|
|
||||||
#+begin_src sh
|
#+begin_src sh
|
||||||
guix system image --image-size=7.2GiB /path/to/this/channel/nongnu/system/install.scm
|
guix system image --image-size=7.2GiB /path/to/this/channel/nongnu/system/install.scm
|
||||||
|
@ -124,14 +126,11 @@ Either type of image can be written to a USB thumbdrive with:
|
||||||
dd if=/path/to/disk-image of=/dev/sdb bs=4M status=progress oflag=sync
|
dd if=/path/to/disk-image of=/dev/sdb bs=4M status=progress oflag=sync
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** Important note for 1.4.0
|
The installation media produced by the above method does not automatically
|
||||||
The installation media for 1.4.0 or those produced manually before commit
|
configure your channels specification. You need to add Nonguix "manually"
|
||||||
[[https://gitlab.com/nonguix/nonguix/-/commit/80b273e86a19ceaee6d9b6650ed56e853409a799#note_2075084624][80b273e8]] (April 2024) do not automatically configure your channels
|
into ~/etc/guix/channels.scm~ and then run ~guix pull~ to make Guix aware of
|
||||||
specification. You need to add Nonguix "manually" into ~/etc/guix/channels.scm~
|
Nonguix scheme libraries. Below is Guile scheme code to include Nonguix in the
|
||||||
and then run ~guix pull~ to make Guix aware of Nonguix scheme libraries. This
|
channel specification.
|
||||||
will require enough memory to hold the cached channel code which can be
|
|
||||||
several hundred megabytes. Below is Guile scheme code to include Nonguix in
|
|
||||||
the channel specification.
|
|
||||||
|
|
||||||
#+BEGIN_SRC scheme
|
#+BEGIN_SRC scheme
|
||||||
(use-modules (ice-9 pretty-print))
|
(use-modules (ice-9 pretty-print))
|
||||||
|
@ -221,75 +220,6 @@ firmware, and blacklisting of conflicting modules:
|
||||||
...))
|
...))
|
||||||
...)
|
...)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** NVIDIA graphics card
|
|
||||||
|
|
||||||
NVIDIA graphics card support in Nonguix consists of a system service =nvidia-service-type= and a package =nvda= for application setup.
|
|
||||||
|
|
||||||
The following code serves as an example for system setup:
|
|
||||||
|
|
||||||
#+BEGIN_SRC scheme
|
|
||||||
(use-modules (gnu services gnome)
|
|
||||||
(gnu services xorg)
|
|
||||||
(nongnu packages nvidia)
|
|
||||||
(nongnu services nvidia))
|
|
||||||
|
|
||||||
(operating-system
|
|
||||||
(kernel-arguments '("modprobe.blacklist=nouveau"
|
|
||||||
;; Set this if the card is not used for displaying or
|
|
||||||
;; you're using Wayland:
|
|
||||||
"nvidia_drm.modeset=1"))
|
|
||||||
(services
|
|
||||||
(cons* (service nvidia-service-type)
|
|
||||||
;; Configure desktop environment, GNOME for example.
|
|
||||||
(service gnome-desktop-service-type
|
|
||||||
;; Enable NVIDIA support, only do this when the card is
|
|
||||||
;; used for displaying.
|
|
||||||
(gnome-desktop-configuration
|
|
||||||
(gnome (replace-mesa gnome))))
|
|
||||||
;; Configure Xorg server, only do this when the card is used for
|
|
||||||
;; displaying.
|
|
||||||
(set-xorg-configuration
|
|
||||||
(xorg-configuration
|
|
||||||
(modules (cons nvda %default-xorg-modules))
|
|
||||||
(drivers '("nvidia"))))
|
|
||||||
...))
|
|
||||||
...)
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
For application setup, =mesa= has to be replaced with =nvda= for every individual package that requires the NVIDIA driver, this can be done with grafting (which doesn't rebuild packages) or rewriting inputs (which rebuilds packages) (see [[https://guix.gnu.org/manual/devel/en/guix.html#Package-Transformation-Options][Package Transformation Options]] in GNU Guix Reference Manual). For example:
|
|
||||||
|
|
||||||
#+BEGIN_SRC shell
|
|
||||||
guix build mesa-utils --with-graft=mesa=nvda
|
|
||||||
guix build mesa-utils --with-input=mesa=nvda
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
The above transformation can be used within an one-off software environment spawned by =guix shell= as well, for correct environment variables, the =nvda= package may be added into the environment:
|
|
||||||
|
|
||||||
#+BEGIN_SRC shell
|
|
||||||
guix shell mesa-utils nvda --with-graft=mesa=nvda \
|
|
||||||
-- glxinfo
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
To graft mesa with nvda programmatically, use =replace-mesa= defined in =(nongnu packages nvidia)=:
|
|
||||||
|
|
||||||
#+BEGIN_SRC scheme
|
|
||||||
(use-modules (nongnu packages nvidia))
|
|
||||||
|
|
||||||
;; Replace mesa with nvda for a single package.
|
|
||||||
(replace-mesa <some-package>)
|
|
||||||
|
|
||||||
;; Replace mesa with nvda for a package list.
|
|
||||||
(map replace-mesa (list <some-package> ...))
|
|
||||||
|
|
||||||
;; A package with mesa replaced is still a package, it can be part of a
|
|
||||||
;; package list.
|
|
||||||
(list (replace-mesa <some-package>)
|
|
||||||
...)
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
When the card is not used for displaying, environment variables =__GLX_VENDOR_LIBRARY_NAME=nvidia= and =__NV_PRIME_RENDER_OFFLOAD=1= may be set.
|
|
||||||
|
|
||||||
** Substitutes for nonguix
|
** Substitutes for nonguix
|
||||||
|
|
||||||
A Nonguix substitute server is available at [[https://substitutes.nonguix.org]].
|
A Nonguix substitute server is available at [[https://substitutes.nonguix.org]].
|
||||||
|
@ -329,9 +259,6 @@ sudo guix archive --authorize < signing-key.pub
|
||||||
sudo guix system reconfigure /etc/config.scm --substitute-urls='https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://substitutes.nonguix.org'
|
sudo guix system reconfigure /etc/config.scm --substitute-urls='https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://substitutes.nonguix.org'
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
The [[https://cuirass.nonguix.org/][Nonguix Cuirass instance]] can be useful when investigating substitution
|
|
||||||
failures.
|
|
||||||
|
|
||||||
Check out the [[https://guix.gnu.org/manual/en/html_node/Substitutes.html][chapter on substitutes]]
|
Check out the [[https://guix.gnu.org/manual/en/html_node/Substitutes.html][chapter on substitutes]]
|
||||||
in the Guix manual for more details.
|
in the Guix manual for more details.
|
||||||
|
|
||||||
|
|
48
etc/git/pre-push
Executable file
48
etc/git/pre-push
Executable file
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
# Copyright © 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
|
# Copyright © 2024 Wolf <wolf@wolfsden.cz>
|
||||||
|
|
||||||
|
# This hook script prevents the user from pushing to GitLab if any of the new
|
||||||
|
# commits' OpenPGP signatures cannot be verified, or if a commit is signed
|
||||||
|
# with an unauthorized key.
|
||||||
|
|
||||||
|
# Called by "git push" after it has checked the remote status, but before
|
||||||
|
# anything has been pushed. If this script exits with a non-zero status nothing
|
||||||
|
# will be pushed.
|
||||||
|
#
|
||||||
|
# This hook is called with the following parameters:
|
||||||
|
#
|
||||||
|
# $1 -- Name of the remote to which the push is being done
|
||||||
|
# $2 -- URL to which the push is being done
|
||||||
|
#
|
||||||
|
# If pushing without using a named remote those arguments will be equal.
|
||||||
|
#
|
||||||
|
# Information about the commits which are being pushed is supplied as lines to
|
||||||
|
# the standard input in the form:
|
||||||
|
#
|
||||||
|
# <local ref> <local sha1> <remote ref> <remote sha1>
|
||||||
|
|
||||||
|
# This is the "empty hash" used by Git when pushing a branch deletion.
|
||||||
|
z40=0000000000000000000000000000000000000000
|
||||||
|
|
||||||
|
while read local_ref local_hash remote_ref remote_hash
|
||||||
|
do
|
||||||
|
# When deleting a remote branch, no commits are pushed to the remote, and
|
||||||
|
# thus there are no signatures to be verified.
|
||||||
|
if [ "$local_hash" != $z40 ]
|
||||||
|
then
|
||||||
|
# Only use the hook when pushing to the nonguix project on GitLab.
|
||||||
|
case "$2" in
|
||||||
|
*gitlab.com[:/]nonguix/*)
|
||||||
|
exec make authenticate
|
||||||
|
exit 127
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
|
@ -1,121 +0,0 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
|
||||||
|
|
||||||
;;; This file is not part of GNU Guix but requires this naming scheme
|
|
||||||
;;; so that the %nvidia-updater is properly read when using
|
|
||||||
;;; `guix refresh -L$(pwd) nvidia-driver' in nonguix root.
|
|
||||||
|
|
||||||
(define-module (guix import nvidia)
|
|
||||||
#:use-module (web client)
|
|
||||||
#:use-module (sxml match)
|
|
||||||
#:use-module (sxml simple)
|
|
||||||
#:use-module (guix memoization)
|
|
||||||
#:use-module (guix packages)
|
|
||||||
#:use-module (guix upstream)
|
|
||||||
#:use-module (ice-9 match)
|
|
||||||
#:use-module (ice-9 regex)
|
|
||||||
#:use-module (srfi srfi-1)
|
|
||||||
#:use-module (srfi srfi-26)
|
|
||||||
#:use-module (srfi srfi-71)
|
|
||||||
#:export (%nvidia-updater))
|
|
||||||
|
|
||||||
(define nvidia-latest-url "https://www.nvidia.com/en-us/drivers/unix/")
|
|
||||||
|
|
||||||
(define (archive->guix-arch system)
|
|
||||||
(match system
|
|
||||||
("https://www.nvidia.com/object/linux-amd64-display-archive.html"
|
|
||||||
"x86_64-linux")
|
|
||||||
("https://www.nvidia.com/en-us/drivers/unix/linux-aarch64-archive/"
|
|
||||||
"aarch64-linux")
|
|
||||||
(_ #f)))
|
|
||||||
|
|
||||||
(define (archive? cand)
|
|
||||||
(or (string= cand (string-append nvidia-latest-url "linux-aarch64-archive/"))
|
|
||||||
(and (string-prefix? "https://www.nvidia.com/object/" cand)
|
|
||||||
(string-suffix? "-archive.html" cand))))
|
|
||||||
|
|
||||||
(define nvidia-versions
|
|
||||||
(memoize
|
|
||||||
(lambda _
|
|
||||||
(let* ((response content (http-get nvidia-latest-url))
|
|
||||||
(match-str (string-match "<div id=\"rightContent\".*</div>"
|
|
||||||
content))
|
|
||||||
(greedy-right-content (match:substring match-str))
|
|
||||||
(match-str (string-match "</div>" greedy-right-content))
|
|
||||||
(right-content
|
|
||||||
(string-append (match:prefix match-str) "</div>"))
|
|
||||||
;; xml->sxml is not flexible enough for html.
|
|
||||||
;; For instance, <br> tags don't have closing </br>.
|
|
||||||
;; This trick preprocesses html to extract all <a> tags in
|
|
||||||
;; a <body> wrapper, which sxml-match can handle well.
|
|
||||||
(xml (xml->sxml
|
|
||||||
(string-append
|
|
||||||
"<body><"
|
|
||||||
(string-join
|
|
||||||
(filter (cute string-prefix? "a " <>)
|
|
||||||
(string-split right-content #\<))
|
|
||||||
"</a><")
|
|
||||||
"</a></body>")
|
|
||||||
#:trim-whitespace? #t))
|
|
||||||
(link-alist
|
|
||||||
(sxml-match
|
|
||||||
xml
|
|
||||||
((*TOP*
|
|
||||||
(body
|
|
||||||
(a (@ (href ,url)) ,version) ...))
|
|
||||||
(fold acons
|
|
||||||
'()
|
|
||||||
(list (or (string= version "Archive")
|
|
||||||
(string-trim version))
|
|
||||||
...)
|
|
||||||
(list (if (archive? url)
|
|
||||||
(archive->guix-arch url)
|
|
||||||
url)
|
|
||||||
...)))))
|
|
||||||
(system #f)
|
|
||||||
(versions
|
|
||||||
(fold
|
|
||||||
(lambda (el rest)
|
|
||||||
(match el
|
|
||||||
(`(#t . ,s)
|
|
||||||
(set! system s)
|
|
||||||
rest)
|
|
||||||
(`(,version . ,address)
|
|
||||||
;; aarch64 seems to follow the same driver versions than x86_64
|
|
||||||
;; KISS: use only an alist of versions
|
|
||||||
;; go for an alist of alists insted if they diverge
|
|
||||||
(if (and (string? system) (string= system "x86_64-linux"))
|
|
||||||
(cons version rest)
|
|
||||||
rest))
|
|
||||||
(_ rest)))
|
|
||||||
'()
|
|
||||||
link-alist)))
|
|
||||||
(fold acons '() (list "main" "latest" "beta") (take versions 3))))))
|
|
||||||
|
|
||||||
(define* (latest-release package #:key (version #f))
|
|
||||||
"Return an <upstream-source> for the latest-release of PACKAGE."
|
|
||||||
(let* ((name (package-name package))
|
|
||||||
(kind (match name
|
|
||||||
("nvidia-driver" "main")
|
|
||||||
("nvidia-driver-beta" "beta")))
|
|
||||||
(version (or version (assoc-ref (nvidia-versions) kind))))
|
|
||||||
(upstream-source
|
|
||||||
(package name)
|
|
||||||
(version version)
|
|
||||||
(urls (list (string-append
|
|
||||||
"https://us.download.nvidia.com/XFree86/Linux-x86_64/"
|
|
||||||
version "/NVIDIA-Linux-x86_64-" version ".run"))))))
|
|
||||||
|
|
||||||
(define (nvidia-package? package)
|
|
||||||
"Return true if PACKAGE is Nvidia."
|
|
||||||
(member (package-name package)
|
|
||||||
(list "nvidia-driver" "nvidia-driver-beta")))
|
|
||||||
|
|
||||||
(define %nvidia-updater
|
|
||||||
(upstream-updater
|
|
||||||
(name 'nvidia)
|
|
||||||
(description "Updater for Nvidia packages")
|
|
||||||
(pred nvidia-package?)
|
|
||||||
(import latest-release)))
|
|
||||||
|
|
||||||
;; nvidia.scm ends here.
|
|
10
news.txt
10
news.txt
|
@ -9,16 +9,6 @@
|
||||||
(channel-news
|
(channel-news
|
||||||
(version 0)
|
(version 0)
|
||||||
|
|
||||||
(entry (commit "be61a1829a19724299e46d6e3c1038229039c3ee")
|
|
||||||
(title
|
|
||||||
(en "Nvidia driver package/service updates and changes"))
|
|
||||||
(body
|
|
||||||
(en "In addition to the Nvidia driver package being updated to 550.67,
|
|
||||||
the service, procedures, and configuration has changed. Please see the new
|
|
||||||
directions in the Nonguix README.org for how to use the Nvidia driver in your
|
|
||||||
system configuration, and of course report any issues with these changes or
|
|
||||||
improvements for the documentation.")))
|
|
||||||
|
|
||||||
(entry (commit "8078757b887a7691644b119913c3f7b41661775d")
|
(entry (commit "8078757b887a7691644b119913c3f7b41661775d")
|
||||||
(title
|
(title
|
||||||
(en "New @code{GUIX_SANDBOX_EXTRA_SHARES} variable for nonguix containers (Steam)"))
|
(en "New @code{GUIX_SANDBOX_EXTRA_SHARES} variable for nonguix containers (Steam)"))
|
||||||
|
|
|
@ -1,66 +0,0 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
|
||||||
;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
|
||||||
|
|
||||||
(define-module (nongnu packages)
|
|
||||||
#:use-module (gnu packages)
|
|
||||||
#:use-module (guix diagnostics)
|
|
||||||
#:use-module (guix i18n)
|
|
||||||
#:use-module (ice-9 match)
|
|
||||||
#:use-module (srfi srfi-34)
|
|
||||||
#:replace (%patch-path
|
|
||||||
search-patch)
|
|
||||||
#:export (nongnu-patches))
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
;;;
|
|
||||||
;;; This module refines the default value of some parameters from (gnu
|
|
||||||
;;; packages) and the syntax/procedures using those. This allows
|
|
||||||
;;; 'search-paths' and friends to work without any user intervention.
|
|
||||||
;;;
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(define %nongnu-root-directory
|
|
||||||
;; This is like %distro-root-directory from (gnu packages), with adjusted
|
|
||||||
;; paths.
|
|
||||||
(letrec-syntax ((dirname* (syntax-rules ()
|
|
||||||
((_ file)
|
|
||||||
(dirname file))
|
|
||||||
((_ file head tail ...)
|
|
||||||
(dirname (dirname* file tail ...)))))
|
|
||||||
(try (syntax-rules ()
|
|
||||||
((_ (file things ...) rest ...)
|
|
||||||
(match (search-path %load-path file)
|
|
||||||
(#f
|
|
||||||
(try rest ...))
|
|
||||||
(absolute
|
|
||||||
(dirname* absolute things ...))))
|
|
||||||
((_)
|
|
||||||
#f))))
|
|
||||||
(try ("nongnu/packages/firmware.scm" nongnu/ packages/)
|
|
||||||
("nongnu/ci.scm" nongnu/))))
|
|
||||||
|
|
||||||
(define %patch-path
|
|
||||||
;; Define it after '%package-module-path' so that '%load-path' contains user
|
|
||||||
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
|
|
||||||
(make-parameter
|
|
||||||
(map (lambda (directory)
|
|
||||||
(if (string=? directory %nongnu-root-directory)
|
|
||||||
(string-append directory "/nongnu/packages/patches")
|
|
||||||
directory))
|
|
||||||
%load-path)))
|
|
||||||
|
|
||||||
;;; XXX: The following must be redefined to make use of the overridden
|
|
||||||
;;; %patch-path parameter above.
|
|
||||||
(define (search-patch file-name)
|
|
||||||
"Search the patch FILE-NAME. Raise an error if not found."
|
|
||||||
(or (search-path (%patch-path) file-name)
|
|
||||||
(raise (formatted-message (G_ "~a: patch not found")
|
|
||||||
file-name))))
|
|
||||||
|
|
||||||
;;; XXX: `search-patches' being syntax, it can't be overridden by the module
|
|
||||||
;;; system, or so it seems, so we simply rename it.
|
|
||||||
(define-syntax-rule (nongnu-patches file-name ...)
|
|
||||||
"Return the list of absolute file names corresponding to each
|
|
||||||
FILE-NAME found in %PATCH-PATH."
|
|
||||||
(list (search-patch file-name) ...))
|
|
|
@ -21,20 +21,20 @@
|
||||||
(define-public anydesk
|
(define-public anydesk
|
||||||
(package
|
(package
|
||||||
(name "anydesk")
|
(name "anydesk")
|
||||||
(version "6.3.2-1")
|
(version "6.3.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://download.anydesk.com/linux/anydesk_"
|
(uri (string-append "https://download.anydesk.com/linux/anydesk-"
|
||||||
version "_amd64.deb"))
|
version "-amd64.tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"13b5ab4a889vz39d36f45mhv3mlaxb305wsh3plk3dbjcrkkkirb"))))
|
"0lp4zvbdriwbzfnvblbbpzxsrs0l425rha9qjs9sy6ff6myk7qxi"))))
|
||||||
(build-system binary-build-system)
|
(build-system binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:validate-runpath? #f
|
`(#:validate-runpath? #f
|
||||||
#:strip-binaries? #f ;; For some reason it breaks the program
|
#:strip-binaries? #f ;; For some reason it breaks the program
|
||||||
#:patchelf-plan
|
#:patchelf-plan
|
||||||
`(("usr/bin/anydesk" ("atk"
|
`(("anydesk" ("atk"
|
||||||
"cairo"
|
"cairo"
|
||||||
"fontconfig"
|
"fontconfig"
|
||||||
"freetype"
|
"freetype"
|
||||||
|
@ -66,29 +66,17 @@
|
||||||
"polkit-gnome"
|
"polkit-gnome"
|
||||||
"pulseaudio")))
|
"pulseaudio")))
|
||||||
#:install-plan
|
#:install-plan
|
||||||
`(("usr/bin/anydesk" "/bin/")
|
`(("anydesk" "/bin/")
|
||||||
("usr/share/polkit-1/actions/com.anydesk.anydesk.policy" "/etc/polkit-1/actions/")
|
("polkit-1/com.anydesk.anydesk.policy" "/etc/polkit-1/actions/")
|
||||||
("usr/share/icons" "/share/icons/"))
|
("icons/" "/share/icons/"))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace 'binary-unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(let* ((files (filter (lambda (f)
|
(invoke "tar" "-xvzf" (assoc-ref inputs "source") "--strip-components" "1")))
|
||||||
(not (string=? (basename f) "environment-variables")))
|
|
||||||
(find-files (getcwd))))
|
|
||||||
(binary-file (car files)))
|
|
||||||
(when (= 1 (length files))
|
|
||||||
(mkdir "binary")
|
|
||||||
(chdir "binary")
|
|
||||||
(invoke "ar" "x" binary-file)
|
|
||||||
(invoke "tar" "xvf" "data.tar.gz")
|
|
||||||
(invoke "rm" "-rfv" "control.tar.gz"
|
|
||||||
"data.tar.gz"
|
|
||||||
binary-file
|
|
||||||
"debian-binary")))))
|
|
||||||
(add-after 'wrap-program 'install-desktop-entry
|
(add-after 'wrap-program 'install-desktop-entry
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((desktop-file "usr/share/applications/anydesk.desktop")
|
(let* ((desktop-file "anydesk.desktop")
|
||||||
(out (assoc-ref outputs "out"))
|
(out (assoc-ref outputs "out"))
|
||||||
(applications (string-append out "/share/applications")))
|
(applications (string-append out "/share/applications")))
|
||||||
(substitute* desktop-file
|
(substitute* desktop-file
|
||||||
|
|
|
@ -146,7 +146,7 @@
|
||||||
openlibm
|
openlibm
|
||||||
pulseaudio
|
pulseaudio
|
||||||
qtbase-5
|
qtbase-5
|
||||||
qtserialport-5
|
qtserialport
|
||||||
qtmultimedia-5
|
qtmultimedia-5
|
||||||
zlib))
|
zlib))
|
||||||
(synopsis "Layout, editing, and control software for your laser cutter")
|
(synopsis "Layout, editing, and control software for your laser cutter")
|
||||||
|
|
|
@ -121,7 +121,6 @@
|
||||||
flac
|
flac
|
||||||
font-liberation
|
font-liberation
|
||||||
gdk-pixbuf
|
gdk-pixbuf
|
||||||
gtk
|
|
||||||
harfbuzz
|
harfbuzz
|
||||||
libexif
|
libexif
|
||||||
libglvnd
|
libglvnd
|
||||||
|
@ -144,10 +143,10 @@
|
||||||
(license (nonfree "https://www.google.com/intl/en/chrome/terms/")))))
|
(license (nonfree "https://www.google.com/intl/en/chrome/terms/")))))
|
||||||
|
|
||||||
(define-public google-chrome-stable
|
(define-public google-chrome-stable
|
||||||
(make-google-chrome "stable" "131.0.6778.108" "0b8a3dmn7n4kyjzyirxcy6xihnasmp3rcy2ly4zh7vp7r5l6lkqd"))
|
(make-google-chrome "stable" "121.0.6167.139" "1b08wqflp1j5yqpw2g9z2s239gs8bzqbxigcxk93aqwf5c21ijkh"))
|
||||||
|
|
||||||
(define-public google-chrome-beta
|
(define-public google-chrome-beta
|
||||||
(make-google-chrome "beta" "132.0.6834.32" "0ncjyg3vxsjspb0i1nsflcry9sfsffnqiwa2y7cgh46xamdq6f2c"))
|
(make-google-chrome "beta" "122.0.6261.6" "1b12bjcg99f6bjfhm311hdx9s1a4i13mcgxbvf1gpzq8989c1g96"))
|
||||||
|
|
||||||
(define-public google-chrome-unstable
|
(define-public google-chrome-unstable
|
||||||
(make-google-chrome "unstable" "133.0.6847.2" "1z15maqs1g8lhi7dm9hn4r272nl0g967a11igmw2sj14zl3n9j6g"))
|
(make-google-chrome "unstable" "123.0.6262.5" "04mf9nysdn77371fxa3z0wbvy2k09vw49s3lrcynlwgiwrz89a3m"))
|
||||||
|
|
|
@ -87,7 +87,7 @@ lets you focus on your code.")
|
||||||
(define-public clj-kondo
|
(define-public clj-kondo
|
||||||
(package
|
(package
|
||||||
(name "clj-kondo")
|
(name "clj-kondo")
|
||||||
(version "2025.01.16")
|
(version "2023.10.20")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch/zipbomb)
|
(method url-fetch/zipbomb)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -95,11 +95,11 @@ lets you focus on your code.")
|
||||||
version "/clj-kondo-" version "-linux-amd64.zip"))
|
version "/clj-kondo-" version "-linux-amd64.zip"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0w9a2lz9xr5446bav2fp70jfinlm9zrl0iv9s0h0b6jczqx2f977"))))
|
"1zb4bkmhv5mh18z8h82qa1a0m95pd5dwdxg31pqgs6lnlca3vsph"))))
|
||||||
(build-system binary-build-system)
|
(build-system binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib")))
|
(list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib")))
|
||||||
#:install-plan `'(("./clj-kondo" "/bin/"))
|
#:install-plan `'(("clj-kondo" "/bin/"))
|
||||||
#:phases #~(modify-phases %standard-phases
|
#:phases #~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'chmod
|
(add-after 'unpack 'chmod
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -115,67 +115,3 @@ lets you focus on your code.")
|
||||||
(description "Clj-kondo performs static analysis on Clojure, ClojureScript
|
(description "Clj-kondo performs static analysis on Clojure, ClojureScript
|
||||||
and EDN, without the need of a running REPL.")
|
and EDN, without the need of a running REPL.")
|
||||||
(license license:epl1.0)))
|
(license license:epl1.0)))
|
||||||
|
|
||||||
(define-public clojure-lsp
|
|
||||||
(package
|
|
||||||
(name "clojure-lsp")
|
|
||||||
(version "2024.03.13-13.11.00")
|
|
||||||
(source (origin
|
|
||||||
(method url-fetch/zipbomb)
|
|
||||||
(uri (string-append "https://github.com/clojure-lsp/clojure-lsp"
|
|
||||||
"/releases/download/" version
|
|
||||||
"/clojure-lsp-native-static-linux-amd64.zip"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1l6w55aragyf8rzy087iqw97xnpih5syjwhf0jwbgrqps2k44ms5"))))
|
|
||||||
(build-system binary-build-system)
|
|
||||||
(arguments
|
|
||||||
`(#:install-plan
|
|
||||||
'(("./clojure-lsp" "/bin/"))
|
|
||||||
#:phases
|
|
||||||
(modify-phases %standard-phases
|
|
||||||
(add-after 'unpack 'chmod
|
|
||||||
(lambda _
|
|
||||||
(chmod "./clojure-lsp" #o755))))))
|
|
||||||
(inputs (list `(,gcc "lib") zlib))
|
|
||||||
(supported-systems '("x86_64-linux"))
|
|
||||||
(home-page "https://github.com/clojure-lsp/clojure-lsp")
|
|
||||||
(synopsis "Clojure & ClojureScript Language Server (LSP) implementation")
|
|
||||||
(description "This package provides a Language Server for Clojure and ClojureScript
|
|
||||||
languages. The goal of this project is to bring great editing tools for
|
|
||||||
Clojure/Clojurescript to all editors and programatically via its CLI and API.
|
|
||||||
It aims to work alongside you to help you navigate, identify and fix errors,
|
|
||||||
perform refactors and more.")
|
|
||||||
(license license:expat)))
|
|
||||||
|
|
||||||
(define-public babashka
|
|
||||||
(package
|
|
||||||
(name "babashka")
|
|
||||||
(version "1.3.189")
|
|
||||||
(source (origin
|
|
||||||
(method url-fetch/tarbomb)
|
|
||||||
(uri (string-append "https://github.com/babashka/babashka"
|
|
||||||
"/releases/download/v" version "/babashka-"
|
|
||||||
version "-linux-amd64.tar.gz"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1gzra3y5iljjqi4rj1qxr3yniqla3qnhv881gkzrp788fwsvlmwv"))))
|
|
||||||
(build-system binary-build-system)
|
|
||||||
(arguments
|
|
||||||
`(#:patchelf-plan
|
|
||||||
'(("bb" ("gcc" "zlib")))
|
|
||||||
#:install-plan
|
|
||||||
'(("./bb" "/bin/"))
|
|
||||||
#:phases
|
|
||||||
(modify-phases %standard-phases
|
|
||||||
(add-after 'unpack 'chmod
|
|
||||||
(lambda _
|
|
||||||
(chmod "bb" #o755))))))
|
|
||||||
(inputs (list `(,gcc "lib") zlib))
|
|
||||||
(supported-systems '("x86_64-linux"))
|
|
||||||
(home-page "https://github.com/babashka/babashka")
|
|
||||||
(synopsis "Native, fast starting Clojure interpreter for scripting")
|
|
||||||
(description "Babashka is a native Clojure interpreter for scripting with
|
|
||||||
fast startup. Its main goal is to leverage Clojure in places where you would
|
|
||||||
be using bash otherwise.")
|
|
||||||
(license license:epl1.0)))
|
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
(define-public unrar
|
(define-public unrar
|
||||||
(package
|
(package
|
||||||
(name "unrar")
|
(name "unrar")
|
||||||
(version "7.0.9")
|
(version "6.2.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://www.rarlab.com/rar/unrarsrc-"
|
(uri (string-append "https://www.rarlab.com/rar/unrarsrc-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"09l336li4q7yrpjq22q6da2vrynpqbyb4a9fdxa02k65wkwi6p2h"))))
|
"1mbw20lh300r541dz4m84rvq7b542mnb70yc29afrjj6waknqza7"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:tests? #f ; No tests.
|
'(#:tests? #f ; No tests.
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
(define-public compcert
|
(define-public compcert
|
||||||
(package
|
(package
|
||||||
(name "compcert")
|
(name "compcert")
|
||||||
(version "3.14")
|
(version "3.12")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -24,11 +24,15 @@
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"030fsg0qr9aasmwk0ahp78sw8rbjmf6pl1w9ws5ghs61kyk4qwj1"))))
|
"0pcrkz1as37iz2wcp8j226fjn672lrj0cip2s0wpkiy097qi0yc5"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'configure 'allow-newer-coq-version
|
||||||
|
(lambda _
|
||||||
|
(substitute* "configure"
|
||||||
|
(("8.15.2") "8.16.1"))))
|
||||||
(replace 'configure
|
(replace 'configure
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((system ,(match (or (%current-target-system) (%current-system))
|
(let ((system ,(match (or (%current-target-system) (%current-system))
|
||||||
|
|
|
@ -67,25 +67,25 @@ various IDEs and plugins.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public dotnet
|
(define-public dotnet
|
||||||
(let ((dotnet-sdk-version "8.0.8"))
|
(let ((dotnet-sdk-version "6.0.9"))
|
||||||
(package
|
(package
|
||||||
(name "dotnet")
|
(name "dotnet")
|
||||||
(version "8.0.401")
|
(version "6.0.401")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch/tarbomb)
|
(method url-fetch/tarbomb)
|
||||||
(uri
|
(uri
|
||||||
(string-append "https://download.visualstudio.microsoft.com/"
|
(string-append "https://download.visualstudio.microsoft.com/download/pr/8159607a-e686-4ead-ac99-b4c97290a5fd/ec6070b1b2cc0651ebe57cf1bd411315/dotnet-sdk-"
|
||||||
"download/pr/db901b0a-3144-4d07-b8ab-6e7a43e7a791/"
|
version
|
||||||
"4d9d1b39b879ad969c6c0ceb6d052381/dotnet-sdk-"
|
"-linux-x64.tar.gz"))
|
||||||
version "-linux-x64.tar.gz"))
|
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1ygr563apl2776yjabn0plsvx5fcmb5wb0fnldrqwb9b5n8d6cb2"))))
|
(base32
|
||||||
|
"05yr64ffcaf48ripxzcv9nwlzp7r83cy9hz17dm5c0317lhksqch"))))
|
||||||
(build-system binary-build-system)
|
(build-system binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:patchelf-plan
|
`(#:patchelf-plan
|
||||||
;; TODO: Make this a more compact procedure.
|
`(("dotnet"
|
||||||
`(("dotnet" ("gcc:lib" "zlib"))
|
("gcc:lib" "zlib"))
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||||
dotnet-sdk-version
|
dotnet-sdk-version
|
||||||
"/libSystem.Net.Security.Native.so")
|
"/libSystem.Net.Security.Native.so")
|
||||||
|
@ -94,18 +94,6 @@ various IDEs and plugins.")
|
||||||
dotnet-sdk-version
|
dotnet-sdk-version
|
||||||
"/libSystem.Security.Cryptography.Native.OpenSsl.so")
|
"/libSystem.Security.Cryptography.Native.OpenSsl.so")
|
||||||
("openssl"))
|
("openssl"))
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
|
||||||
dotnet-sdk-version
|
|
||||||
"/libSystem.Native.so")
|
|
||||||
("gcc:lib"))
|
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
|
||||||
dotnet-sdk-version
|
|
||||||
"/libSystem.Globalization.Native.so")
|
|
||||||
("gcc:lib"))
|
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
|
||||||
dotnet-sdk-version
|
|
||||||
"/libSystem.Net.Security.Native.so")
|
|
||||||
("gcc:lib"))
|
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||||
dotnet-sdk-version
|
dotnet-sdk-version
|
||||||
"/libSystem.IO.Compression.Native.so")
|
"/libSystem.IO.Compression.Native.so")
|
||||||
|
@ -120,12 +108,12 @@ various IDEs and plugins.")
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||||
dotnet-sdk-version "/libclrjit.so")
|
dotnet-sdk-version "/libclrjit.so")
|
||||||
("gcc:lib"))
|
("gcc:lib"))
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
|
||||||
dotnet-sdk-version "/libclrgc.so")
|
|
||||||
("gcc:lib"))
|
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||||
dotnet-sdk-version "/libcoreclr.so")
|
dotnet-sdk-version "/libcoreclr.so")
|
||||||
("gcc:lib" "icu4c"))
|
("gcc:lib" "icu4c"))
|
||||||
|
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||||
|
dotnet-sdk-version "/libdbgshim.so")
|
||||||
|
("gcc:lib"))
|
||||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||||
dotnet-sdk-version "/libhostpolicy.so")
|
dotnet-sdk-version "/libhostpolicy.so")
|
||||||
("gcc:lib"))
|
("gcc:lib"))
|
||||||
|
|
|
@ -83,7 +83,7 @@
|
||||||
((guix elf) #:select (elf-segments parse-elf PT_INTERP))
|
((guix elf) #:select (elf-segments parse-elf PT_INTERP))
|
||||||
((ice-9 binary-ports) #:select (get-bytevector-n))
|
((ice-9 binary-ports) #:select (get-bytevector-n))
|
||||||
((srfi srfi-1) #:select (last))
|
((srfi srfi-1) #:select (last))
|
||||||
,@%default-gnu-imported-modules)
|
,@%gnu-build-system-modules)
|
||||||
#:tests? #f
|
#:tests? #f
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2023, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
|
|
||||||
(define-module (nongnu packages editors)
|
(define-module (nongnu packages editors)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
@ -14,39 +14,32 @@
|
||||||
(define-public vscodium
|
(define-public vscodium
|
||||||
(package
|
(package
|
||||||
(name "vscodium")
|
(name "vscodium")
|
||||||
(version "1.92.1.24225")
|
(version "1.87.0.24060")
|
||||||
(source
|
(source
|
||||||
(let ((arch (match (or (%current-target-system) (%current-system))
|
(origin
|
||||||
("aarch64-linux" "arm64")
|
(method url-fetch)
|
||||||
("armhf-linux" "armhf")
|
(uri
|
||||||
(_ "x64")))
|
(let ((arch (match (or (%current-target-system) (%current-system))
|
||||||
(hash (match (or (%current-target-system) (%current-system))
|
("aarch64-linux" "arm64")
|
||||||
("aarch64-linux"
|
("armhf-linux" "armhf")
|
||||||
"0m5x9v577h8n16ypzb1y2066alc59v5bw7jiqp2xr7g20s9kb0vy")
|
(_ "x64"))))
|
||||||
("armhf-linux"
|
(string-append
|
||||||
"047gz12gx8pa5aglykd0785l6i9ivsn4kkgfhi5l0y4jh8hjys8c")
|
"https://github.com/VSCodium/vscodium/releases/download/" version
|
||||||
(_
|
"/VSCodium-linux-" arch "-" version ".tar.gz")))
|
||||||
"1w1rhbbk177yz85csck3sax51qnvgaip9w238dmzb4a50ikfnp23"))))
|
(sha256
|
||||||
(origin
|
(base32 "1lw7j8h0i96mg8si8dmi55ldbz5j63zb93qf1g59siavx84f1zpd"))))
|
||||||
(method url-fetch)
|
|
||||||
(uri
|
|
||||||
(string-append
|
|
||||||
"https://github.com/VSCodium/vscodium/releases/download/" version
|
|
||||||
"/VSCodium-linux-" arch "-" version ".tar.gz"))
|
|
||||||
(sha256
|
|
||||||
(base32 hash)))))
|
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
#:substitutable? #f
|
#:substitutable? #f
|
||||||
#:wrapper-plan
|
#:wrapper-plan
|
||||||
#~'(("opt/vscodium/codium" (("out" "/opt/vscodium"))))
|
#~'("opt/vscodium/codium")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda _
|
||||||
(mkdir-p "opt/vscodium")
|
(mkdir-p "opt/vscodium")
|
||||||
(invoke "tar" "-xvf" source "-C" "opt/vscodium")))
|
(invoke "tar" "-xvf" #$source "-C" "opt/vscodium")))
|
||||||
(add-before 'install-wrapper 'install-entrypoint
|
(add-before 'install-wrapper 'install-entrypoint
|
||||||
(lambda _
|
(lambda _
|
||||||
(let* ((bin (string-append #$output "/bin")))
|
(let* ((bin (string-append #$output "/bin")))
|
||||||
|
@ -72,7 +65,7 @@
|
||||||
(string-append apps "/" #$name ".desktop")
|
(string-append apps "/" #$name ".desktop")
|
||||||
#:name "VSCodium"
|
#:name "VSCodium"
|
||||||
#:generic-name "Text Editor"
|
#:generic-name "Text Editor"
|
||||||
#:exec (string-append #$output "/bin/codium --ozone-platform-hint=auto")
|
#:exec (string-append #$output "/bin/codium")
|
||||||
#:icon "code"
|
#:icon "code"
|
||||||
#:type "Application"
|
#:type "Application"
|
||||||
#:actions '("new-empty-window")
|
#:actions '("new-empty-window")
|
||||||
|
@ -83,7 +76,15 @@
|
||||||
#:startup-w-m-class "Code"
|
#:startup-w-m-class "Code"
|
||||||
#:comment
|
#:comment
|
||||||
'(("en" "Code Editing. Redefined.")
|
'(("en" "Code Editing. Redefined.")
|
||||||
(#f "Code Editing. Redefined.")))))))))
|
(#f "Code Editing. Redefined."))))))
|
||||||
|
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||||
|
(lambda _
|
||||||
|
(wrap-program (string-append #$output "/bin/codium")
|
||||||
|
`("LD_LIBRARY_PATH" ":"
|
||||||
|
prefix
|
||||||
|
(,(string-join
|
||||||
|
(list (string-append #$output "/opt/vscodium"))
|
||||||
|
":")))))))))
|
||||||
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list tar))
|
(list tar))
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2023 Pierre Neidhardt <mail@ambrevar.xyz>
|
;;; Copyright © 2023 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2024 Andre A. Gomes <andremegafone@gmail.com>
|
|
||||||
;;; Copyright © 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
|
||||||
|
|
||||||
(define-module (nongnu packages electron)
|
(define-module (nongnu packages electron)
|
||||||
#:use-module (nonguix build-system chromium-binary)
|
#:use-module (nonguix build-system chromium-binary)
|
||||||
|
@ -15,29 +13,23 @@
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages video))
|
#:use-module (gnu packages video))
|
||||||
|
|
||||||
(define (electron-source version hash)
|
(define-public electron
|
||||||
(origin
|
|
||||||
(method url-fetch/zipbomb)
|
|
||||||
(uri
|
|
||||||
(string-append
|
|
||||||
"https://github.com/electron/electron/releases/download/v"
|
|
||||||
version "/electron-v" version "-"
|
|
||||||
(match (or (%current-system) (%current-target-system))
|
|
||||||
("x86_64-linux" "linux-x64")
|
|
||||||
("i686-linux" "linux-ia32")
|
|
||||||
("aarch64-linux" "linux-arm64")
|
|
||||||
("armhf-linux" "linux-armv7l")
|
|
||||||
;; We need a default case
|
|
||||||
(_ "unsupported"))
|
|
||||||
".zip"))
|
|
||||||
(sha256 (base32 hash))))
|
|
||||||
|
|
||||||
(define-public electron-27
|
|
||||||
(package
|
(package
|
||||||
(name "electron")
|
(name "electron")
|
||||||
(version "27.3.6")
|
(version "27.1.0")
|
||||||
(source (electron-source version
|
(source (origin
|
||||||
"12hjn1bfk8c25f54kk561mkjl7hsk8b16rj7a7gczswjdpx6fpi0"))
|
(method url-fetch/zipbomb)
|
||||||
|
(uri
|
||||||
|
(string-append
|
||||||
|
"https://github.com/electron/electron/releases/download/v"
|
||||||
|
version "/electron-v" version "-"
|
||||||
|
(match (or (%current-system) (%current-target-system))
|
||||||
|
("x86_64-linux" "linux-x64")
|
||||||
|
("i686-linux" "linux-ia32")
|
||||||
|
("aarch64-linux" "linux-arm64")
|
||||||
|
("armhf-linux" "linux-armv7l"))
|
||||||
|
".zip"))
|
||||||
|
(sha256 (base32 "08illknzcikzzsb6i7z1p2xgb20jjc5cx9hynll25f44q9pg48b6"))))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:wrapper-plan
|
`(#:wrapper-plan
|
||||||
|
@ -89,18 +81,3 @@ Chromium and is used by the Atom editor and many other apps.")
|
||||||
(license (license:nonfree
|
(license (license:nonfree
|
||||||
(string-append "https://github.com/electron/electron/blob/v"
|
(string-append "https://github.com/electron/electron/blob/v"
|
||||||
version "/LICENSE")))))
|
version "/LICENSE")))))
|
||||||
|
|
||||||
(define-public electron electron-27)
|
|
||||||
|
|
||||||
(define-public electron-28
|
|
||||||
(package
|
|
||||||
(inherit electron-27)
|
|
||||||
(version "28.2.7")
|
|
||||||
(source (electron-source version
|
|
||||||
"0sw8nn1jr9x0p4s2g5yp5lrpy8mzq0sjd099x7axbg6cm1c80iff"))))
|
|
||||||
(define-public electron-29
|
|
||||||
(package
|
|
||||||
(inherit electron-27)
|
|
||||||
(version "29.1.4")
|
|
||||||
(source (electron-source version
|
|
||||||
"1d96nhx9j9mzc3q3ald1imqdxdgq9by1qm4q703sjy3knq1p38w3"))))
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
;;; Copyright © 2022-2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
;;; Copyright © 2022-2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
||||||
;;; Copyright © 2023 Krzysztof Baranowski <pharcosyle@gmail.com>
|
;;; Copyright © 2023 Krzysztof Baranowski <pharcosyle@gmail.com>
|
||||||
;;; Copyright © 2024 Efraim Flashner <efraim@flashner.co.il>
|
|
||||||
|
|
||||||
(define-module (nongnu packages firmware)
|
(define-module (nongnu packages firmware)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
@ -135,18 +134,16 @@ HDMI to USB Type-C Bridge in the PinePhone.")
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:substitutable? #f
|
`(#:substitutable? #f
|
||||||
#:install-plan '(;;Bluetooth firmware
|
#:install-plan '( ;Bluetooth firmware
|
||||||
("BCM4345C5.hcd" "/lib/firmware/brcm/")
|
("BCM4345C5.hcd" "usr/lib/firmware/brcm/")
|
||||||
;; WiFi firmware
|
;; WiFi firmware
|
||||||
("fw_bcm43456c5_ag.bin" "/lib/firmware/brcm/")
|
("fw_bcm43456c5_ag.bin" "usr/lib/firmware/brcm/")
|
||||||
("fw_bcm43456c5_ag.bin"
|
|
||||||
"/lib/firmware/brcm/brcmfmac43456-sdio.bin")
|
|
||||||
("brcmfmac43456-sdio.clm_blob"
|
("brcmfmac43456-sdio.clm_blob"
|
||||||
"/lib/firmware/brcm/")
|
"usr/lib/firmware/brcm/")
|
||||||
("brcmfmac43456-sdio.AP6256.txt"
|
("brcmfmac43456-sdio.AP6256.txt"
|
||||||
"/lib/firmware/brcm/")
|
"usr/lib/firmware/brcm/")
|
||||||
("brcmfmac43456-sdio.AP6256.txt"
|
("brcmfmac43456-sdio.AP6256.txt"
|
||||||
"/lib/firmware/brcm/brcmfmac43456-sdio.pine64,pinebook-pro.txt"))))
|
"usr/lib/firmware/brcm/brcmfmac43456-sdio.pine64,pinebook-pro.txt"))))
|
||||||
(synopsis "Firmware for the wifi/bt module AP6256")
|
(synopsis "Firmware for the wifi/bt module AP6256")
|
||||||
(description
|
(description
|
||||||
"This package provides Firmware for the wifi/bt module AP6256,
|
"This package provides Firmware for the wifi/bt module AP6256,
|
||||||
|
|
|
@ -213,10 +213,10 @@ Included fonts:
|
||||||
(define-public font-apple-sf-pro
|
(define-public font-apple-sf-pro
|
||||||
(apple-font
|
(apple-font
|
||||||
#:font-name "SF Pro"
|
#:font-name "SF Pro"
|
||||||
#:archive-timestamp "20240527221252"
|
#:archive-timestamp "20230710073336"
|
||||||
#:file "SF-Pro"
|
#:file "SF-Pro"
|
||||||
#:version "20.0d8e1"
|
#:version "19.0d6e1"
|
||||||
#:hash "153k3q8h5mpd358b1lsa8ha32qxv7vc2q661k20j4nnf3ndjkv9j"
|
#:hash "19qa6fs6x5614sqw9a6idlizzsssw8256crz1ps2p2n6gwp2fvaq"
|
||||||
#:description "This neutral, flexible, sans-serif typeface is the system
|
#:description "This neutral, flexible, sans-serif typeface is the system
|
||||||
font for iOS, iPad OS, macOS and tvOS. SF Pro features nine weights, variable
|
font for iOS, iPad OS, macOS and tvOS. SF Pro features nine weights, variable
|
||||||
optical sizes for optimal legibility, four widths, and includes a rounded
|
optical sizes for optimal legibility, four widths, and includes a rounded
|
||||||
|
@ -226,10 +226,10 @@ scripts."))
|
||||||
(define-public font-apple-sf-compact
|
(define-public font-apple-sf-compact
|
||||||
(apple-font
|
(apple-font
|
||||||
#:font-name "SF Compact"
|
#:font-name "SF Compact"
|
||||||
#:archive-timestamp "20240527221317"
|
#:archive-timestamp "20230710073418"
|
||||||
#:file "SF-Compact"
|
#:file "SF-Compact"
|
||||||
#:version "20.0d8e1"
|
#:version "19.0d6e1"
|
||||||
#:hash "01j7k95rnmg667hyhj88fxqrgsah2mnk2ws7fmclif92mqcgwirj"
|
#:hash "02127drlqvwscq6vaphmvsp85cn8j4zfhi0kb9a3fzc0z8b95hdq"
|
||||||
#:description "Sharing many features with SF Pro, SF Compact features an
|
#:description "Sharing many features with SF Pro, SF Compact features an
|
||||||
efficient, compact design that is optimized for small sizes and narrow columns.
|
efficient, compact design that is optimized for small sizes and narrow columns.
|
||||||
SF Compact is the system font for watchOS and includes a rounded variant."))
|
SF Compact is the system font for watchOS and includes a rounded variant."))
|
||||||
|
@ -237,10 +237,10 @@ SF Compact is the system font for watchOS and includes a rounded variant."))
|
||||||
(define-public font-apple-sf-mono
|
(define-public font-apple-sf-mono
|
||||||
(apple-font
|
(apple-font
|
||||||
#:font-name "SF Mono"
|
#:font-name "SF Mono"
|
||||||
#:archive-timestamp "20240527221346"
|
#:archive-timestamp "20230710073457"
|
||||||
#:file "SF-Mono"
|
#:file "SF-Mono"
|
||||||
#:version "20.0d8e1"
|
#:version "19.0d6e1"
|
||||||
#:hash "0cxj1wk6nbz1ysi0cg1w79b7ja48n00dypxkrsc3mvrn1vmdb4dm"
|
#:hash "0vjdpl3xyxl2rmfrnjsxpxdizpdr4canqa1nm63s5d3djs01iad6"
|
||||||
#:description "This monospaced variant of San Francisco enables alignment
|
#:description "This monospaced variant of San Francisco enables alignment
|
||||||
between rows and columns of text, and is used in coding environments like Xcode.
|
between rows and columns of text, and is used in coding environments like Xcode.
|
||||||
SF Mono features six weights and supports Latin, Greek, and Cyrillic scripts."))
|
SF Mono features six weights and supports Latin, Greek, and Cyrillic scripts."))
|
||||||
|
@ -248,10 +248,10 @@ SF Mono features six weights and supports Latin, Greek, and Cyrillic scripts."))
|
||||||
(define-public font-apple-sf-arabic
|
(define-public font-apple-sf-arabic
|
||||||
(apple-font
|
(apple-font
|
||||||
#:font-name "SF Arabic"
|
#:font-name "SF Arabic"
|
||||||
#:archive-timestamp "20240527221359"
|
#:archive-timestamp "20230710073501"
|
||||||
#:file "SF-Arabic"
|
#:file "SF-Arabic"
|
||||||
#:version "20.0d8e1"
|
#:version "19.0d6e1"
|
||||||
#:hash "0sm7w5i19n3jdj6d04344nxizqacg264rladjiwhxhwa3ksfbxsn"
|
#:hash "0phl3wi0lq7djcg8nqg1ml1f73bsfjzmvd2n8hkl6dbprmw614jp"
|
||||||
#:description "A contemporary interpretation of the Naskh style with a
|
#:description "A contemporary interpretation of the Naskh style with a
|
||||||
rational and flexible design, this extension of San Francisco is the Arabic
|
rational and flexible design, this extension of San Francisco is the Arabic
|
||||||
system font on Apple platforms. Like San Francisco, SF Arabic features nine
|
system font on Apple platforms. Like San Francisco, SF Arabic features nine
|
||||||
|
@ -261,10 +261,10 @@ based on the point size, and includes a rounded variant."))
|
||||||
(define-public font-apple-new-york
|
(define-public font-apple-new-york
|
||||||
(apple-font
|
(apple-font
|
||||||
#:font-name "New York"
|
#:font-name "New York"
|
||||||
#:archive-timestamp "20240527221356"
|
#:archive-timestamp "20230710073506"
|
||||||
#:file "NY"
|
#:file "NY"
|
||||||
#:version "17.0d5e1"
|
#:version "17.0d5e1"
|
||||||
#:hash "06d8pnfp4z5nb82mh7g7pnz5m4njph3zy17ww1m8x0m34hn50zdn"
|
#:hash "1hgxyizpgam7y1xh36fsypd3a1nn417wdnnfk1zahq9vhxrrds2w"
|
||||||
#:description "A companion to San Francisco, this serif typeface is based on
|
#:description "A companion to San Francisco, this serif typeface is based on
|
||||||
essential aspects of historical type styles. New York features six weights,
|
essential aspects of historical type styles. New York features six weights,
|
||||||
supports Latin, Greek and Cyrillic scripts, and features variable optical sizes
|
supports Latin, Greek and Cyrillic scripts, and features variable optical sizes
|
||||||
|
@ -278,10 +278,10 @@ graphic display face at larger sizes."))
|
||||||
(define-public font-apple-sf-symbols
|
(define-public font-apple-sf-symbols
|
||||||
(apple-font
|
(apple-font
|
||||||
#:font-name "SF Symbols"
|
#:font-name "SF Symbols"
|
||||||
#:archive-timestamp "20240701100406"
|
#:archive-timestamp "20230710073513"
|
||||||
#:file "SF-Symbols-6"
|
#:file "SF-Symbols-5"
|
||||||
#:version "6"
|
#:version "5"
|
||||||
#:hash "1hyghp03zpsiks2p6kmghnmg28kkjj3qqk2hgwva855kly6r4hv8"
|
#:hash "1bwlq1nf75bv0x36qdk371r2pd5slf3jlv50wgsl0kpj1dds22sf"
|
||||||
#:description "With over 5,000 symbols, SF Symbols is a library of
|
#:description "With over 5,000 symbols, SF Symbols is a library of
|
||||||
iconography designed to integrate seamlessly with San Francisco, the system
|
iconography designed to integrate seamlessly with San Francisco, the system
|
||||||
font for Apple platforms. Symbols come in nine weights and three scales, and
|
font for Apple platforms. Symbols come in nine weights and three scales, and
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
(define heroic-client
|
(define heroic-client
|
||||||
(package
|
(package
|
||||||
(name "heroic-client")
|
(name "heroic-client")
|
||||||
(version "2.15.2")
|
(version "2.12.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -67,12 +67,19 @@
|
||||||
version "/heroic_" version "_amd64.deb"))
|
version "/heroic_" version "_amd64.deb"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1bzdb9nqmr9w092c22n57ldykm00n98d78rhqzypf430lrl0kzcj"))))
|
"0ikb9r72n7xknns81mibipfwqh0r9hqnm5a3k4xsk8my1gajc60c"))))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
#:wrapper-plan
|
#:wrapper-plan
|
||||||
#~'(("lib/Heroic/heroic" (("out" "/lib/Heroic"))))
|
#~'("lib/Heroic/heroic"
|
||||||
|
"lib/Heroic/libEGL.so"
|
||||||
|
"lib/Heroic/libGLESv2.so"
|
||||||
|
"lib/Heroic/libvk_swiftshader.so"
|
||||||
|
"lib/Heroic/libvulkan.so.1"
|
||||||
|
"lib/Heroic/chrome-sandbox"
|
||||||
|
"lib/Heroic/chrome_crashpad_handler"
|
||||||
|
"lib/Heroic/libffmpeg.so")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'binary-unpack 'setup-cwd
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
|
@ -81,23 +88,26 @@
|
||||||
;; Use the more standard lib directory for everything.
|
;; Use the more standard lib directory for everything.
|
||||||
(rename-file "opt/" "lib")
|
(rename-file "opt/" "lib")
|
||||||
;; Remove unneeded files.
|
;; Remove unneeded files.
|
||||||
(delete-file-recursively "usr")))
|
(delete-file-recursively "usr")
|
||||||
;; Fix the .desktop file "Exec" line to just be "heroic" in
|
;; Fix the .desktop file binary location.
|
||||||
;; order for this desktop file to be useful to launch heroic in
|
(substitute* '("share/applications/heroic.desktop")
|
||||||
;; the container (heroic package) as well.
|
(("/opt/Heroic/")
|
||||||
(add-after 'patch-dot-desktop-files 'fix-desktop-file
|
(string-append #$output "/bin/")))))
|
||||||
(lambda _
|
|
||||||
(substitute*
|
|
||||||
(string-append #$output "/share/applications/heroic.desktop")
|
|
||||||
(("Exec=.*/heroic") "Exec=heroic"))))
|
|
||||||
(delete 'patch-dot-desktop-files)
|
|
||||||
(add-after 'install 'symlink-binary-file
|
(add-after 'install 'symlink-binary-file
|
||||||
(lambda _
|
(lambda _
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/Heroic/heroic")
|
(symlink (string-append #$output "/lib/Heroic/heroic")
|
||||||
(string-append #$output "/bin/heroic")))))))
|
(string-append #$output "/bin/heroic"))))
|
||||||
|
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||||
|
(lambda _
|
||||||
|
(wrap-program (string-append #$output "/lib/Heroic/heroic")
|
||||||
|
`("LD_LIBRARY_PATH" ":" prefix
|
||||||
|
(,(string-join
|
||||||
|
(list
|
||||||
|
(string-append #$output "/lib/Heroic"))
|
||||||
|
":")))))))))
|
||||||
(home-page "https://heroicgameslauncher.com")
|
(home-page "https://heroicgameslauncher.com")
|
||||||
(synopsis "Native GOG, Amazon and Epic Games Launcher")
|
(synopsis "A Native GOG, Amazon and Epic Games Launcher")
|
||||||
(description "Heroic is an Open Source Game Launcher. Right now it supports launching
|
(description "Heroic is an Open Source Game Launcher. Right now it supports launching
|
||||||
games from the Epic Games Store using Legendary, GOG Games using our custom
|
games from the Epic Games Store using Legendary, GOG Games using our custom
|
||||||
implementation with gogdl and Amazon Games using Nile.")
|
implementation with gogdl and Amazon Games using Nile.")
|
||||||
|
@ -131,6 +141,7 @@ implementation with gogdl and Amazon Games using Nile.")
|
||||||
(substitute* "Makefile"
|
(substitute* "Makefile"
|
||||||
(("-fns ")
|
(("-fns ")
|
||||||
"-fns $(DESTDIR)"))))
|
"-fns $(DESTDIR)"))))
|
||||||
|
(delete 'patch-dot-desktop-files)
|
||||||
(add-after 'unpack 'patch-startscript
|
(add-after 'unpack 'patch-startscript
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "bin_steam.sh"
|
(substitute* "bin_steam.sh"
|
||||||
|
@ -146,9 +157,8 @@ implementation with gogdl and Amazon Games using Nile.")
|
||||||
(substitute* (string-append path "steam-asound32.desktop")
|
(substitute* (string-append path "steam-asound32.desktop")
|
||||||
(("Exec=steam %U") "Exec=steam %U -- --asound32")
|
(("Exec=steam %U") "Exec=steam %U -- --asound32")
|
||||||
(("Name=Steam") "Name=Steam (32-bit ALSA)")))))
|
(("Name=Steam") "Name=Steam (32-bit ALSA)")))))
|
||||||
(delete 'patch-dot-desktop-files)
|
|
||||||
;; Steamdeps installs missing packages, which doesn't work with Guix.
|
;; Steamdeps installs missing packages, which doesn't work with Guix.
|
||||||
(add-after 'install 'post-install
|
(add-after 'install-binaries 'post-install
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref %outputs "out")))
|
(let ((out (assoc-ref %outputs "out")))
|
||||||
(delete-file (string-append out "/lib/steam/bin_steamdeps.py"))
|
(delete-file (string-append out "/lib/steam/bin_steamdeps.py"))
|
||||||
|
@ -169,18 +179,10 @@ implementation with gogdl and Amazon Games using Nile.")
|
||||||
("fontconfig" ,fontconfig) ; Required for steam client.
|
("fontconfig" ,fontconfig) ; Required for steam client.
|
||||||
("file" ,file) ; Used for steam installation.
|
("file" ,file) ; Used for steam installation.
|
||||||
("find" ,findutils) ; Required at least for some logging.
|
("find" ,findutils) ; Required at least for some logging.
|
||||||
("font-google-noto" ,font-google-noto) ; Not required but to match following fonts.
|
|
||||||
;; These next three fonts are to cover emoji and Chinese/Japanese/Korean
|
|
||||||
;; and related scripts.
|
|
||||||
("font-google-noto-emoji" ,font-google-noto-emoji)
|
|
||||||
("font-google-noto-sans-cjk" ,font-google-noto-sans-cjk)
|
|
||||||
("font-google-noto-serif-cjk" ,font-google-noto-serif-cjk)
|
|
||||||
("freetype" ,freetype) ; Required for steam login.
|
("freetype" ,freetype) ; Required for steam login.
|
||||||
("gawk" ,gawk)
|
("gawk" ,gawk)
|
||||||
("gdk-pixbuf" ,gdk-pixbuf) ; Required for steam tray icon.
|
("gdk-pixbuf" ,gdk-pixbuf) ; Required for steam tray icon.
|
||||||
;; Required for steam startup; use newer version for better compatibility
|
("gcc:lib" ,gcc "lib") ; Required for steam startup.
|
||||||
;; with some games like Dwarf Fortress.
|
|
||||||
("gcc:lib" ,gcc-14 "lib")
|
|
||||||
("grep" ,grep)
|
("grep" ,grep)
|
||||||
("libbsd" ,libbsd)
|
("libbsd" ,libbsd)
|
||||||
("libcap" ,libcap) ; Required for SteamVR, but needs pkexec too.
|
("libcap" ,libcap) ; Required for SteamVR, but needs pkexec too.
|
||||||
|
@ -216,15 +218,6 @@ implementation with gogdl and Amazon Games using Nile.")
|
||||||
("python" ,python) ; Required for KillingFloor2 and Wreckfest.
|
("python" ,python) ; Required for KillingFloor2 and Wreckfest.
|
||||||
("spdlog" ,spdlog))) ; Required for MangoHud.
|
("spdlog" ,spdlog))) ; Required for MangoHud.
|
||||||
|
|
||||||
(define steam-container-libs
|
|
||||||
(append steam-client-libs
|
|
||||||
steam-gameruntime-libs
|
|
||||||
fhs-min-libs))
|
|
||||||
|
|
||||||
(define steam-nvidia-container-libs
|
|
||||||
(modify-inputs steam-container-libs
|
|
||||||
(replace "mesa" nvda)))
|
|
||||||
|
|
||||||
(define heroic-extra-client-libs
|
(define heroic-extra-client-libs
|
||||||
`(("curl" ,curl) ; Required for Heroic to download e.g. Wine.
|
`(("curl" ,curl) ; Required for Heroic to download e.g. Wine.
|
||||||
("which" ,which) ; Heroic complains about trying to use which (though works).
|
("which" ,which) ; Heroic complains about trying to use which (though works).
|
||||||
|
@ -232,26 +225,19 @@ implementation with gogdl and Amazon Games using Nile.")
|
||||||
|
|
||||||
(define steam-ld.so.conf
|
(define steam-ld.so.conf
|
||||||
(packages->ld.so.conf
|
(packages->ld.so.conf
|
||||||
(list (fhs-union steam-container-libs
|
(list (fhs-union `(,@steam-client-libs
|
||||||
|
,@steam-gameruntime-libs
|
||||||
|
,@fhs-min-libs)
|
||||||
#:name "fhs-union-64")
|
#:name "fhs-union-64")
|
||||||
(fhs-union steam-container-libs
|
(fhs-union `(,@steam-client-libs
|
||||||
|
,@steam-gameruntime-libs
|
||||||
|
,@fhs-min-libs)
|
||||||
#:name "fhs-union-32"
|
#:name "fhs-union-32"
|
||||||
#:system "i686-linux"))))
|
#:system "i686-linux"))))
|
||||||
|
|
||||||
(define steam-ld.so.cache
|
(define steam-ld.so.cache
|
||||||
(ld.so.conf->ld.so.cache steam-ld.so.conf))
|
(ld.so.conf->ld.so.cache steam-ld.so.conf))
|
||||||
|
|
||||||
(define steam-nvidia-ld.so.conf
|
|
||||||
(packages->ld.so.conf
|
|
||||||
(list (fhs-union steam-nvidia-container-libs
|
|
||||||
#:name "fhs-union-64")
|
|
||||||
(fhs-union steam-nvidia-container-libs
|
|
||||||
#:name "fhs-union-32"
|
|
||||||
#:system "i686-linux"))))
|
|
||||||
|
|
||||||
(define steam-nvidia-ld.so.cache
|
|
||||||
(ld.so.conf->ld.so.cache steam-nvidia-ld.so.conf))
|
|
||||||
|
|
||||||
(define-public steam-container
|
(define-public steam-container
|
||||||
(nonguix-container
|
(nonguix-container
|
||||||
(name "steam")
|
(name "steam")
|
||||||
|
@ -260,10 +246,14 @@ implementation with gogdl and Amazon Games using Nile.")
|
||||||
(ld.so.conf steam-ld.so.conf)
|
(ld.so.conf steam-ld.so.conf)
|
||||||
(ld.so.cache steam-ld.so.cache)
|
(ld.so.cache steam-ld.so.cache)
|
||||||
(union64
|
(union64
|
||||||
(fhs-union steam-container-libs
|
(fhs-union `(,@steam-client-libs
|
||||||
|
,@steam-gameruntime-libs
|
||||||
|
,@fhs-min-libs)
|
||||||
#:name "fhs-union-64"))
|
#:name "fhs-union-64"))
|
||||||
(union32
|
(union32
|
||||||
(fhs-union steam-container-libs
|
(fhs-union `(,@steam-client-libs
|
||||||
|
,@steam-gameruntime-libs
|
||||||
|
,@fhs-min-libs)
|
||||||
#:name "fhs-union-32"
|
#:name "fhs-union-32"
|
||||||
#:system "i686-linux"))
|
#:system "i686-linux"))
|
||||||
(link-files '("share"))
|
(link-files '("share"))
|
||||||
|
@ -278,16 +268,8 @@ all games will be installed.")))
|
||||||
(name "steam-nvidia")
|
(name "steam-nvidia")
|
||||||
;; Steam's .desktop files expect a "steam" executable, so provide that.
|
;; Steam's .desktop files expect a "steam" executable, so provide that.
|
||||||
(binary-name "steam")
|
(binary-name "steam")
|
||||||
(ld.so.conf steam-nvidia-ld.so.conf)
|
(union64 (replace-mesa (ngc-union64 steam-container)))
|
||||||
(ld.so.cache steam-nvidia-ld.so.cache)
|
(union32 (replace-mesa (ngc-union32 steam-container)))))
|
||||||
(union64
|
|
||||||
(fhs-union steam-nvidia-container-libs
|
|
||||||
#:name "fhs-union-64"))
|
|
||||||
(union32
|
|
||||||
(fhs-union steam-nvidia-container-libs
|
|
||||||
#:name "fhs-union-32"
|
|
||||||
#:system "i686-linux"))
|
|
||||||
(preserved-env %nvidia-environment-variable-regexps)))
|
|
||||||
|
|
||||||
(define-public steam (nonguix-container->package steam-container))
|
(define-public steam (nonguix-container->package steam-container))
|
||||||
(define-public steam-nvidia (nonguix-container->package steam-nvidia-container))
|
(define-public steam-nvidia (nonguix-container->package steam-nvidia-container))
|
||||||
|
@ -307,11 +289,15 @@ all games will be installed.")))
|
||||||
;; this is easier and works.
|
;; this is easier and works.
|
||||||
(union64
|
(union64
|
||||||
(fhs-union `(,@heroic-extra-client-libs
|
(fhs-union `(,@heroic-extra-client-libs
|
||||||
,@steam-container-libs)
|
,@steam-client-libs
|
||||||
|
,@steam-gameruntime-libs
|
||||||
|
,@fhs-min-libs)
|
||||||
#:name "fhs-union-64"))
|
#:name "fhs-union-64"))
|
||||||
;; Don't include heroic-client-libs as they are not needed in 32-bit.
|
;; Don't include heroic-client-libs as they are not needed in 32-bit.
|
||||||
(union32
|
(union32
|
||||||
(fhs-union steam-container-libs
|
(fhs-union `(,@steam-client-libs
|
||||||
|
,@steam-gameruntime-libs
|
||||||
|
,@fhs-min-libs)
|
||||||
#:name "fhs-union-32"
|
#:name "fhs-union-32"
|
||||||
#:system "i686-linux"))
|
#:system "i686-linux"))
|
||||||
(link-files '("share"))
|
(link-files '("share"))
|
||||||
|
@ -326,17 +312,8 @@ installed.")))
|
||||||
(nonguix-container
|
(nonguix-container
|
||||||
(inherit heroic-container)
|
(inherit heroic-container)
|
||||||
(name "heroic-nvidia")
|
(name "heroic-nvidia")
|
||||||
(ld.so.conf steam-nvidia-ld.so.conf)
|
(union64 (replace-mesa (ngc-union64 heroic-container)))
|
||||||
(ld.so.cache steam-nvidia-ld.so.cache)
|
(union32 (replace-mesa (ngc-union32 heroic-container)))))
|
||||||
(union64
|
|
||||||
(fhs-union `(,@heroic-extra-client-libs
|
|
||||||
,@steam-nvidia-container-libs)
|
|
||||||
#:name "fhs-union-64"))
|
|
||||||
(union32
|
|
||||||
(fhs-union steam-nvidia-container-libs
|
|
||||||
#:name "fhs-union-32"
|
|
||||||
#:system "i686-linux"))
|
|
||||||
(preserved-env %nvidia-environment-variable-regexps)))
|
|
||||||
|
|
||||||
(define-public heroic (nonguix-container->package heroic-container))
|
(define-public heroic (nonguix-container->package heroic-container))
|
||||||
(define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container))
|
(define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container))
|
||||||
|
|
|
@ -1,20 +1,16 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
|
;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||||
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
||||||
;;; Copyright © 2024 Timotej Lazar <timotej.lazar@araneo.si>
|
|
||||||
|
|
||||||
(define-module (nongnu packages game-development)
|
(define-module (nongnu packages game-development)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (srfi srfi-1)
|
|
||||||
#:use-module ((nonguix licenses) :prefix license:)
|
#:use-module ((nonguix licenses) :prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (nonguix build-system binary)
|
#:use-module (nonguix build-system binary)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix gexp)
|
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module ((guix licenses) :prefix license:)
|
|
||||||
#:use-module (gnu packages audio)
|
#:use-module (gnu packages audio)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages gcc)
|
#:use-module (gnu packages gcc)
|
||||||
|
@ -163,95 +159,128 @@ development should opt for GLSL rather than Cg.")
|
||||||
"https://raw.githubusercontent.com/ValveSoftware/source-sdk-2013/master/LICENSE"))))
|
"https://raw.githubusercontent.com/ValveSoftware/source-sdk-2013/master/LICENSE"))))
|
||||||
|
|
||||||
(define-public eduke32
|
(define-public eduke32
|
||||||
(package
|
;; There are no official releases.
|
||||||
(name "eduke32")
|
(let ((commit "188e14622cfe5c6f63b04b989b350bf2a29a893c")
|
||||||
(version "20240316-10564-0bc78c53d")
|
(revision "1")
|
||||||
(source
|
(duke-nukem-3d-directory "share/dukenukem3d"))
|
||||||
(origin
|
(package
|
||||||
(method url-fetch)
|
(name "eduke32")
|
||||||
(uri (string-append "https://dukeworld.com/eduke32/synthesis/"
|
(version (git-version "0" revision commit))
|
||||||
version "/eduke32_src_" version ".tar.xz"))
|
(source
|
||||||
(sha256
|
(origin
|
||||||
(base32 "1a9fw1kfriyrybjxl72b2434w3yiz2nxg6541lnyhzbdka2cp2lf"))
|
(method git-fetch)
|
||||||
(modules '((guix build utils)))
|
(uri (git-reference
|
||||||
(snippet
|
(url "https://voidpoint.io/terminx/eduke32.git")
|
||||||
;; Remove bundled libxmp and platform-specific stuff.
|
(commit commit)))
|
||||||
#~(for-each delete-file-recursively '("platform" "source/libxmp-lite")))))
|
(file-name (git-file-name name version))
|
||||||
(build-system gnu-build-system)
|
(sha256
|
||||||
(arguments
|
(base32 "0wy4bppiw4q2hn0v38msrjyvj2hzfvigakc23c2wqfnbl7rm0hrz"))
|
||||||
(list #:license-file-regexp "buildlic.txt"
|
;; Unbundle libxmp.
|
||||||
#:tests? #f
|
(modules '((guix build utils)))
|
||||||
#:phases
|
(snippet
|
||||||
#~(modify-phases %standard-phases
|
'(begin (delete-file-recursively "source/libxmp-lite") #t))))
|
||||||
(add-after 'unpack 'link-license
|
(build-system gnu-build-system)
|
||||||
(lambda _
|
(arguments
|
||||||
;; Ensure the install-license-files phase can find it.
|
`(#:tests? #f
|
||||||
(link "package/common/buildlic.txt" "buildlic.txt")))
|
;; Add glu to rpath so that SDL can dlopen it.
|
||||||
(add-after 'unpack 'unbundle-libxmp
|
#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
|
||||||
(lambda _
|
(assoc-ref %build-inputs "glu") "/lib"))
|
||||||
(substitute* "Common.mak"
|
#:phases
|
||||||
(("^LIBS :=" match) (string-append match " -lxmp")))
|
(modify-phases %standard-phases
|
||||||
(with-directory-excursion "source/audiolib/src"
|
(add-after 'unpack 'unbundle-libxmp
|
||||||
(for-each (lambda (file) (substitute* file (("libxmp-lite/") "")))
|
(lambda _
|
||||||
'("multivoc.cpp" "xmp.cpp")))))
|
(substitute* "GNUmakefile"
|
||||||
(add-after 'unpack 'fix-share-path
|
(("-I\\$\\(libxmplite_inc\\)")
|
||||||
(lambda _
|
(string-append "-I" (assoc-ref %build-inputs "libxmp") "/include"))
|
||||||
(substitute* "source/duke3d/src/common.cpp"
|
(("^ *audiolib_deps \\+= libxmplite.*$") "")
|
||||||
(("/usr/local/share/games") (string-append #$output "/share")))))
|
(("-logg") "-logg -lxmp"))
|
||||||
(delete 'configure)
|
(with-directory-excursion "source/audiolib/src"
|
||||||
(replace 'install
|
(for-each (lambda (file) (substitute* file (("libxmp-lite/") "")))
|
||||||
(lambda _
|
'("multivoc.cpp" "xmp.cpp")))
|
||||||
(let ((bin (string-append #$output "/bin")))
|
#t))
|
||||||
(install-file "eduke32" bin)
|
(delete 'configure)
|
||||||
(install-file "mapster32" bin)
|
(replace 'install
|
||||||
(install-file "package/sdk/m32help.hlp"
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(string-append #$output "/share/eduke32"))))))))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(inputs (list alsa-lib
|
(glu (assoc-ref inputs "glu"))
|
||||||
flac
|
(eduke (string-append out "/bin/eduke32"))
|
||||||
glu
|
(eduke-real (string-append out "/bin/.eduke32-real")))
|
||||||
gtk+-2
|
;; TODO: Install custom .desktop file? Need icon.
|
||||||
libvorbis
|
;; See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=eduke32.
|
||||||
libvpx
|
(install-file "eduke32" (string-append out "/bin"))
|
||||||
libxmp
|
(install-file "mapster32" (string-append out "/bin"))
|
||||||
sdl2
|
(install-file "package/common/buildlic.txt"
|
||||||
sdl2-mixer))
|
(string-append out "/share/licenses"))
|
||||||
(native-inputs
|
;; Wrap program:
|
||||||
(list gdk-pixbuf pkg-config))
|
;; - Make sure current directory is writable, else eduke32 will segfault.
|
||||||
(synopsis "Engine of the classic PC first person shooter Duke Nukem 3D")
|
;; - Add ../share/dukenukem3d to the dir search list.
|
||||||
(description "EDuke32 is a free homebrew game engine and source port of
|
;; TODO: Skip store duke3d.grp When ~/.config/eduke32/duke3d.grp is found.
|
||||||
the classic PC first person shooter Duke Nukem 3D—Duke3D for short. A
|
(rename-file eduke eduke-real)
|
||||||
thousands of features and upgrades were added for regular players and
|
(call-with-output-file eduke
|
||||||
additional editing capabilities and scripting extensions for homebrew
|
(lambda (p)
|
||||||
developers and mod creators. EDuke32 is open source but non-free software.
|
(format p "\
|
||||||
|
#!~a
|
||||||
|
mkdir -p ~~/.config/eduke32
|
||||||
|
cd ~~/.config/eduke32
|
||||||
|
exec -a \"$0\" ~a\
|
||||||
|
-g \"${0%/*}\"/../~a/*.grp\
|
||||||
|
-g \"${0%/*}\"/../~a/*.zip\
|
||||||
|
-g \"${0%/*}\"/../~a/*.map\
|
||||||
|
-g \"${0%/*}\"/../~a/*.con\
|
||||||
|
-g \"${0%/*}\"/../~a/*.def\
|
||||||
|
\"$@\"~%"
|
||||||
|
(which "bash") eduke-real
|
||||||
|
,duke-nukem-3d-directory
|
||||||
|
,duke-nukem-3d-directory
|
||||||
|
,duke-nukem-3d-directory
|
||||||
|
,duke-nukem-3d-directory
|
||||||
|
,duke-nukem-3d-directory)))
|
||||||
|
(chmod eduke #o755)))))))
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(inputs
|
||||||
|
`(("sdl-union" ,(sdl-union (list sdl2 sdl2-mixer)))
|
||||||
|
("alsa-lib" ,alsa-lib)
|
||||||
|
("glu" ,glu)
|
||||||
|
("libvorbis" ,libvorbis)
|
||||||
|
("libvpx" ,libvpx)
|
||||||
|
("libxmp" ,libxmp)
|
||||||
|
("flac" ,flac)
|
||||||
|
("gtk+" ,gtk+-2)))
|
||||||
|
(synopsis "Engine of the classic PC first person shooter Duke Nukem 3D")
|
||||||
|
(description "EDuke32 is a free homebrew game engine and source port of the
|
||||||
|
classic PC first person shooter Duke Nukem 3D—Duke3D for short. A thousands
|
||||||
|
of features and upgrades were added for regular players and additional editing
|
||||||
|
capabilities and scripting extensions for homebrew developers and mod
|
||||||
|
creators. EDuke32 is open source but non-free software.
|
||||||
|
|
||||||
This package does not contain any game file. You can either install packages
|
This package does not contain any game file. You can either install packages
|
||||||
with game files or or put @file{.grp} game files manually in
|
with game files or or put @file{.grp} game files manually in
|
||||||
@file{~/.config/eduke32/}.")
|
@file{~/.config/eduke32/}.")
|
||||||
(home-page "https://eduke32.com")
|
(home-page "https://eduke32.com/")
|
||||||
(license
|
(license (license:nonfree
|
||||||
(list license:gpl2
|
"https://eduke32.com/buildlic.txt")))))
|
||||||
(license:nonfree "file://package/common/buildlic.txt")))))
|
|
||||||
|
|
||||||
(define-public fury
|
(define-public fury
|
||||||
(package/inherit eduke32
|
(package
|
||||||
|
(inherit eduke32)
|
||||||
(name "fury")
|
(name "fury")
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments eduke32)
|
(substitute-keyword-arguments (package-arguments eduke32)
|
||||||
((#:make-flags flags #~'())
|
((#:make-flags flags ''()) `(cons* "FURY=1" ,flags))
|
||||||
#~(cons* "FURY=1" #$flags))
|
((#:phases phases '%standard-phases)
|
||||||
((#:phases phases #~%standard-phases)
|
`(modify-phases ,phases
|
||||||
#~(modify-phases #$phases
|
(replace 'install
|
||||||
(add-after 'unpack 'disable-sdl-static
|
(lambda _
|
||||||
(lambda _
|
(let* ((out (assoc-ref %outputs "out")))
|
||||||
(substitute* "GNUmakefile"
|
(install-file "fury" (string-append out "/bin"))
|
||||||
(("SDL_STATIC := 1") ""))))
|
(install-file "mapster32" (string-append out "/bin"))
|
||||||
(replace 'install
|
(install-file "package/common/buildlic.txt"
|
||||||
(lambda _
|
(string-append out "/share/licenses")))
|
||||||
(install-file "fury" (string-append #$output "/bin"))))))))
|
#t))))))
|
||||||
(inputs
|
|
||||||
(alist-delete "libvpx" (package-inputs eduke32)))
|
|
||||||
(synopsis "Game engine for the first-person shooter Ion Fury")
|
(synopsis "Game engine for the first-person shooter Ion Fury")
|
||||||
(description
|
(description
|
||||||
"This is the @code{eduke32} engine built with support for the Ion Fury
|
(string-append
|
||||||
|
"This is the @code{eduke32} engine built with support for the Ion Fury
|
||||||
game. Game data is not provided. Run @command{fury} with the option
|
game. Game data is not provided. Run @command{fury} with the option
|
||||||
@option{-j} to specify the directory containing @file{fury.grp}.")))
|
@option{-j} to specify the directory containing @file{fury.grp}."))))
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
(define-public lgogdownloader
|
(define-public lgogdownloader
|
||||||
(package
|
(package
|
||||||
(name "lgogdownloader")
|
(name "lgogdownloader")
|
||||||
(version "3.15")
|
(version "3.12")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0bjjn2wam4f2lzmk0hkdxxc7k0wk3f0lyszl0birsr9h3jjpjqw7"))))
|
(base32 "0kmz5zsbci7iilbqdvql9c1vk2b1q2flsdr6psnkln07xp664di2"))))
|
||||||
(build-system qt-build-system)
|
(build-system qt-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '("-DUSE_QT_GUI=ON")
|
`(#:configure-flags '("-DUSE_QT_GUI=ON")
|
||||||
|
@ -39,11 +39,15 @@
|
||||||
(inputs
|
(inputs
|
||||||
(list boost
|
(list boost
|
||||||
curl
|
curl
|
||||||
|
htmlcxx
|
||||||
jsoncpp
|
jsoncpp
|
||||||
qtwebengine
|
liboauth
|
||||||
|
qtbase-5
|
||||||
|
qtdeclarative-5
|
||||||
|
qtwebchannel-5
|
||||||
|
qtwebengine-5
|
||||||
rhash
|
rhash
|
||||||
tinyxml2
|
tinyxml2
|
||||||
tidy-html
|
|
||||||
zlib))
|
zlib))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list help2man
|
(list help2man
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
|
|
||||||
|
|
||||||
(define-module (nongnu packages hugo)
|
|
||||||
#:use-module (nonguix build-system binary)
|
|
||||||
#:use-module (guix download)
|
|
||||||
#:use-module ((guix licenses)
|
|
||||||
#:prefix license:)
|
|
||||||
#:use-module (guix packages)
|
|
||||||
#:use-module (guix utils))
|
|
||||||
|
|
||||||
(define-public hugo
|
|
||||||
(package
|
|
||||||
(name "hugo")
|
|
||||||
(version "0.140.2")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
|
||||||
(uri (string-append
|
|
||||||
"https://github.com/gohugoio/hugo/releases/download/v" version
|
|
||||||
"/" name "_" version "_linux-" (cond ((target-aarch64?)
|
|
||||||
"arm64")
|
|
||||||
((target-arm32?)
|
|
||||||
"arm")
|
|
||||||
((target-x86-64?)
|
|
||||||
"amd64")) ".tar.gz"))
|
|
||||||
(sha256
|
|
||||||
(base32 (cond ((target-aarch64?)
|
|
||||||
"1dv2k9j3i3294bl94jhwi645pf5r2143hizxd3xpc3fz8w8cfyy8")
|
|
||||||
((target-arm32?)
|
|
||||||
"0f3mirqn3x2lrj7gzjyqklj081y7jfyxww2zkccg9f6jq0vcfcxd")
|
|
||||||
((target-x86-64?)
|
|
||||||
"0hs4b3nrr1qajrh7f64ibwjrfipqllvifp526kf2gfxnhpkr67l8"))))))
|
|
||||||
(build-system binary-build-system)
|
|
||||||
(arguments
|
|
||||||
(list
|
|
||||||
#:install-plan ''(("hugo" "/bin/hugo"))))
|
|
||||||
(supported-systems (list "aarch64-linux"
|
|
||||||
"armhf-linux"
|
|
||||||
"x86_64-linux"))
|
|
||||||
(home-page "https://gohugo.io/")
|
|
||||||
(synopsis "Static site generator written in Go")
|
|
||||||
(description
|
|
||||||
"Hugo is a static site generator written in Go, optimized for speed and
|
|
||||||
designed for flexibility. With its advanced templating system and fast asset
|
|
||||||
pipelines, Hugo renders a complete site in seconds, often less.")
|
|
||||||
(license license:asl2.0)))
|
|
|
@ -11,7 +11,7 @@
|
||||||
(define-public k9s
|
(define-public k9s
|
||||||
(package
|
(package
|
||||||
(name "k9s")
|
(name "k9s")
|
||||||
(version "0.32.5")
|
(version "0.27.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
version "/k9s_Linux_amd64.tar.gz"))
|
version "/k9s_Linux_amd64.tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"18yf4vr4pgdl5ssijmpf45amdasjrd3mbgnsp1cjnadszvsiphrk"))))
|
"14j37kl8pbmbid4np48cfv5k8vic6ngnc4pjh01qr6szplg861z5"))))
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -29,8 +29,8 @@
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda _
|
||||||
(invoke "tar" "-xvf" source))))))
|
(invoke "tar" "-xvf" #$source))))))
|
||||||
(home-page "https://k9scli.io")
|
(home-page "https://k9scli.io")
|
||||||
(supported-systems '("x86_64-linux"))
|
(supported-systems '("x86_64-linux"))
|
||||||
(synopsis "Kubernetes CLI To Manage Your Clusters In Style")
|
(synopsis "Kubernetes CLI To Manage Your Clusters In Style")
|
||||||
|
@ -62,8 +62,8 @@ offers subsequent commands to interact with your observed resources.")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda _
|
||||||
(copy-file source "./katenary")
|
(copy-file #$source "./katenary")
|
||||||
(chmod "katenary" #o644)))
|
(chmod "katenary" #o644)))
|
||||||
(add-before 'install 'chmod
|
(add-before 'install 'chmod
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -79,14 +79,14 @@ Helm Chart for Kubernetes.")
|
||||||
(define-public kubectl
|
(define-public kubectl
|
||||||
(package
|
(package
|
||||||
(name "kubectl")
|
(name "kubectl")
|
||||||
(version "1.31.0")
|
(version "1.28.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://dl.k8s.io/release/v" version "/bin/linux/amd64/kubectl"))
|
"https://dl.k8s.io/release/v" version "/bin/linux/amd64/kubectl"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0dr40ckdj65ka6ndp8knyprh1k0nx6vg8yyg7p6c1lc49b3as9vw"))))
|
"1qbl4a2xv795apvbwahdb9kzcm2wys0am1c72as3iavgs3wxd9z7"))))
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -96,8 +96,8 @@ Helm Chart for Kubernetes.")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda _
|
||||||
(copy-file source "./kubectl")
|
(copy-file #$source "./kubectl")
|
||||||
(chmod "kubectl" #o644)))
|
(chmod "kubectl" #o644)))
|
||||||
(add-before 'install 'chmod
|
(add-before 'install 'chmod
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -114,7 +114,7 @@ view logs.")
|
||||||
(define-public kompose
|
(define-public kompose
|
||||||
(package
|
(package
|
||||||
(name "kompose")
|
(name "kompose")
|
||||||
(version "1.34.0")
|
(version "1.30.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -122,7 +122,7 @@ view logs.")
|
||||||
version "/kompose-linux-amd64"))
|
version "/kompose-linux-amd64"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0wg1ks3flb5rbpazich7v052s3zm8fwja044r67sky3bxxihx3f5"))))
|
"0sy3ci7s2dkjigasyv01nm1vg30wwhmdc0cmglzb23ws8bfrfjlh"))))
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -132,8 +132,8 @@ view logs.")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda _
|
||||||
(copy-file source "./kompose")))
|
(copy-file #$source "./kompose")))
|
||||||
(add-before 'install 'chmod
|
(add-before 'install 'chmod
|
||||||
(lambda _
|
(lambda _
|
||||||
(chmod "kompose" #o555))))))
|
(chmod "kompose" #o555))))))
|
||||||
|
@ -148,14 +148,14 @@ such as Kubernetes (or OpenShift).")
|
||||||
(define-public helm-kubernetes
|
(define-public helm-kubernetes
|
||||||
(package
|
(package
|
||||||
(name "helm-kubernetes")
|
(name "helm-kubernetes")
|
||||||
(version "3.15.4")
|
(version "3.12.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://get.helm.sh/helm-v" version "-linux-amd64.tar.gz"))
|
"https://get.helm.sh/helm-v" version "-linux-amd64.tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1afgf08z6hgy07kjk8fj7xkr8ma4qk2f1r33901nzz87zkn0yh0i"))))
|
"1d99c506shnz5cr9xhkrla5r82nan7v3hz631jqflicd376i68qv"))))
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -165,8 +165,8 @@ such as Kubernetes (or OpenShift).")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda _
|
||||||
(invoke "tar" "-xvf" source)))
|
(invoke "tar" "-xvf" #$source)))
|
||||||
(add-before 'install 'chmod
|
(add-before 'install 'chmod
|
||||||
(lambda _
|
(lambda _
|
||||||
(chmod "linux-amd64/helm" #o555))))))
|
(chmod "linux-amd64/helm" #o555))))))
|
||||||
|
@ -181,13 +181,13 @@ define, install, and upgrade Kubernetes applications.")
|
||||||
(define-public kind
|
(define-public kind
|
||||||
(package
|
(package
|
||||||
(name "kind")
|
(name "kind")
|
||||||
(version "0.24.0")
|
(version "0.20.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://kind.sigs.k8s.io/dl/v" version "/kind-linux-amd64"))
|
(uri (string-append "https://kind.sigs.k8s.io/dl/v" version "/kind-linux-amd64"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"03b0idcb11knqyx2ryakvlkqk1cdyavkar6izjihsqlxlfjsv6mq"))))
|
"1v9x953a5n0l3kz78wm29yh11vz56nmlvhi7xzcjscyksq9p4fji"))))
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -197,8 +197,8 @@ define, install, and upgrade Kubernetes applications.")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda _
|
||||||
(copy-file source "./kind")
|
(copy-file #$source "./kind")
|
||||||
(chmod "kind" #o644)))
|
(chmod "kind" #o644)))
|
||||||
(add-before 'install 'chmod
|
(add-before 'install 'chmod
|
||||||
(lambda _
|
(lambda _
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
|
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
|
||||||
;;; Copyright © 2020, 2021 James Smith <jsubuntuxp@disroot.org>
|
;;; Copyright © 2020, 2021 James Smith <jsubuntuxp@disroot.org>
|
||||||
;;; Copyright © 2020-2025 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
;;; Copyright © 2020-2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
||||||
;;; Copyright © 2020, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2020, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2020, 2021, 2022 Zhu Zihao <all_but_last@163.com>
|
;;; Copyright © 2020, 2021, 2022 Zhu Zihao <all_but_last@163.com>
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
;;; Copyright © 2021 Risto Stevcev <me@risto.codes>
|
;;; Copyright © 2021 Risto Stevcev <me@risto.codes>
|
||||||
;;; Copyright © 2021 aerique <aerique@xs4all.nl>
|
;;; Copyright © 2021 aerique <aerique@xs4all.nl>
|
||||||
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
|
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
|
||||||
;;; Copyright © 2022, 2023, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
||||||
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
|
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
|
||||||
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
|
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
|
||||||
|
@ -26,17 +26,13 @@
|
||||||
;;; Copyright © 2023 Ada Stevenson <adanskana@gmail.com>
|
;;; Copyright © 2023 Ada Stevenson <adanskana@gmail.com>
|
||||||
;;; Copyright © 2023 Tomas Volf <~@wolfsden.cz>
|
;;; Copyright © 2023 Tomas Volf <~@wolfsden.cz>
|
||||||
;;; Copyright © 2023 PRESFIL <presfil@protonmail.com>
|
;;; Copyright © 2023 PRESFIL <presfil@protonmail.com>
|
||||||
;;; Copyright © 2024, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
|
||||||
|
|
||||||
(define-module (nongnu packages linux)
|
(define-module (nongnu packages linux)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (nongnu packages)
|
|
||||||
#:use-module (gnu packages admin)
|
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages cpio)
|
#:use-module (gnu packages cpio)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages parallel)
|
|
||||||
#:use-module (guix licenses)
|
#:use-module (guix licenses)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
|
@ -136,11 +132,8 @@ some freedo package or an output of package-version procedure."
|
||||||
"The unmodified Linux kernel, including nonfree blobs, for running Guix System
|
"The unmodified Linux kernel, including nonfree blobs, for running Guix System
|
||||||
on hardware which requires nonfree software to function."))))
|
on hardware which requires nonfree software to function."))))
|
||||||
|
|
||||||
(define-public linux-6.13
|
(define-public linux-6.7
|
||||||
(corrupt-linux linux-libre-6.13))
|
(corrupt-linux linux-libre-6.7))
|
||||||
|
|
||||||
(define-public linux-6.12
|
|
||||||
(corrupt-linux linux-libre-6.12))
|
|
||||||
|
|
||||||
(define-public linux-6.6
|
(define-public linux-6.6
|
||||||
(corrupt-linux linux-libre-6.6))
|
(corrupt-linux linux-libre-6.6))
|
||||||
|
@ -157,9 +150,12 @@ on hardware which requires nonfree software to function."))))
|
||||||
(define-public linux-5.4
|
(define-public linux-5.4
|
||||||
(corrupt-linux linux-libre-5.4))
|
(corrupt-linux linux-libre-5.4))
|
||||||
|
|
||||||
(define-public linux linux-6.12)
|
(define-public linux-4.19
|
||||||
|
(corrupt-linux linux-libre-4.19))
|
||||||
|
|
||||||
|
(define-public linux linux-6.6)
|
||||||
;; linux-lts points to the *newest* released long-term support version.
|
;; linux-lts points to the *newest* released long-term support version.
|
||||||
(define-public linux-lts linux-6.12)
|
(define-public linux-lts linux-6.1)
|
||||||
|
|
||||||
(define-public linux-arm64-generic-5.10
|
(define-public linux-arm64-generic-5.10
|
||||||
(corrupt-linux linux-libre-arm64-generic-5.10 #:name "linux-arm64-generic"))
|
(corrupt-linux linux-libre-arm64-generic-5.10 #:name "linux-arm64-generic"))
|
||||||
|
@ -219,7 +215,7 @@ on hardware which requires nonfree software to function."))))
|
||||||
(xanmod-defconfig "config_x86-64-v1"))
|
(xanmod-defconfig "config_x86-64-v1"))
|
||||||
|
|
||||||
(define %default-extra-linux-options
|
(define %default-extra-linux-options
|
||||||
((@@ (gnu packages linux) default-extra-linux-options) version))
|
(@@ (gnu packages linux) %default-extra-linux-options))
|
||||||
|
|
||||||
(define config->string
|
(define config->string
|
||||||
(@@ (gnu packages linux) config->string))
|
(@@ (gnu packages linux) config->string))
|
||||||
|
@ -258,7 +254,9 @@ on hardware which requires nonfree software to function."))))
|
||||||
(append %default-extra-linux-options
|
(append %default-extra-linux-options
|
||||||
;; NOTE: These are configs expected by Guix
|
;; NOTE: These are configs expected by Guix
|
||||||
;; but missing from XanMod defconfig.
|
;; but missing from XanMod defconfig.
|
||||||
'(("CONFIG_BLK_DEV_NVME" . #t))))))
|
'(("CONFIG_BLK_DEV_NVME" . #t)
|
||||||
|
("CONFIG_CRYPTO_XTS" . m)
|
||||||
|
("CONFIG_VIRTIO_CONSOLE" . m))))))
|
||||||
(display extra-configuration port)
|
(display extra-configuration port)
|
||||||
(close-port port))
|
(close-port port))
|
||||||
(invoke "make" "oldconfig")
|
(invoke "make" "oldconfig")
|
||||||
|
@ -279,17 +277,17 @@ distribution with custom settings and new features. It's built to provide a
|
||||||
stable, responsive and smooth desktop experience.")))
|
stable, responsive and smooth desktop experience.")))
|
||||||
|
|
||||||
;; Linux-XanMod sources
|
;; Linux-XanMod sources
|
||||||
(define-public linux-xanmod-version "6.12.13")
|
(define-public linux-xanmod-version "6.7.6")
|
||||||
(define-public linux-xanmod-revision "xanmod1")
|
(define-public linux-xanmod-revision "xanmod1")
|
||||||
(define-public linux-xanmod-source
|
(define-public linux-xanmod-source
|
||||||
(make-linux-xanmod-source
|
(make-linux-xanmod-source
|
||||||
linux-xanmod-version
|
linux-xanmod-version
|
||||||
linux-xanmod-revision
|
linux-xanmod-revision
|
||||||
#:xanmod-branch "main"
|
#:xanmod-branch "main"
|
||||||
#:kernel-hash (base32 "1sr58vsh39hdwk0z27lg14isqwn4g8m4r7a8z2rsyhkfwlmmd8mi")
|
#:kernel-hash (base32 "0s8hbcsg7fdvspqam8kzcxygjsznr4zfi60nqgc81l3n4m518cgg")
|
||||||
#:xanmod-hash (base32 "18a7hbm7gvf6b7wr84rszmpl1yb3mdgj2plv5627mv09dn87lvz2")))
|
#:xanmod-hash (base32 "0hv76dj9z17w6zcy25v1ndlmdw593wlbmnw5x903vidb3c6a1dfi")))
|
||||||
|
|
||||||
(define-public linux-xanmod-lts-version "6.6.72")
|
(define-public linux-xanmod-lts-version "6.6.18")
|
||||||
(define-public linux-xanmod-lts-revision "xanmod1")
|
(define-public linux-xanmod-lts-revision "xanmod1")
|
||||||
(define-public linux-xanmod-lts-source
|
(define-public linux-xanmod-lts-source
|
||||||
(make-linux-xanmod-source
|
(make-linux-xanmod-source
|
||||||
|
@ -297,7 +295,7 @@ stable, responsive and smooth desktop experience.")))
|
||||||
linux-xanmod-lts-revision
|
linux-xanmod-lts-revision
|
||||||
#:xanmod-branch "lts"
|
#:xanmod-branch "lts"
|
||||||
#:kernel-hash (base32 "1l2nisx9lf2vdgkq910n5ldbi8z25ky1zvl67zgwg2nxcdna09nr")
|
#:kernel-hash (base32 "1l2nisx9lf2vdgkq910n5ldbi8z25ky1zvl67zgwg2nxcdna09nr")
|
||||||
#:xanmod-hash (base32 "119jvwmxpjfpifg7mhqirjc1g1q769584hv2xc8wyg2iklhhs653")))
|
#:xanmod-hash (base32 "1q33bd4a65l46333l2m7vjn46b0xhdbz508bq7q0bphbmy0bf35m")))
|
||||||
|
|
||||||
;; Linux-XanMod packages
|
;; Linux-XanMod packages
|
||||||
(define-public linux-xanmod
|
(define-public linux-xanmod
|
||||||
|
@ -318,44 +316,24 @@ stable, responsive and smooth desktop experience.")))
|
||||||
(define-public linux-firmware
|
(define-public linux-firmware
|
||||||
(package
|
(package
|
||||||
(name "linux-firmware")
|
(name "linux-firmware")
|
||||||
(version "20250211")
|
(version "20240115")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
|
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
|
||||||
"linux-firmware-" version ".tar.xz"))
|
"linux-firmware-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0z998nxplnc22nbj3yzdyjjs433p92rzvq2x5i9rv0xzjxc39q9d"))))
|
"13b75kd075famc58pvx4r9268pxn69nyihx7p3i6i7mvkgqayz5b"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:tests? #f
|
`(#:tests? #f
|
||||||
#:strip-binaries? #f
|
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
||||||
#:validate-runpath? #f
|
#:phases
|
||||||
#:make-flags #~(list (string-append "DESTDIR=" #$output))
|
(modify-phases %standard-phases
|
||||||
#:phases
|
(replace 'install
|
||||||
#~(modify-phases %standard-phases
|
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||||
(add-after 'unpack 'patch-out-check_whence.py
|
(apply invoke "make" "install-nodedup" make-flags)))
|
||||||
(lambda _
|
(delete 'validate-runpath))))
|
||||||
;; The 'check_whence.py' script requires git (and the
|
|
||||||
;; repository metadata).
|
|
||||||
(substitute* "copy-firmware.sh"
|
|
||||||
(("./check_whence.py")
|
|
||||||
"true"))))
|
|
||||||
(delete 'configure)
|
|
||||||
(replace 'install
|
|
||||||
;; Use Zstd compression to reduce space requirements.
|
|
||||||
(lambda* (#:key (parallel-build? #t) (make-flags '())
|
|
||||||
#:allow-other-keys)
|
|
||||||
(let ((num-jobs (if parallel-build?
|
|
||||||
(number->string (parallel-job-count))
|
|
||||||
"1")))
|
|
||||||
;; Use the best 'standard' compression level.
|
|
||||||
(setenv "ZSTD_CLEVEL" "19")
|
|
||||||
;; Compress using multiple threads.
|
|
||||||
(setenv "ZSTD_NBTHREADS" num-jobs)
|
|
||||||
(apply invoke "make" "install-zst" "-j" num-jobs
|
|
||||||
make-flags)))))))
|
|
||||||
(native-inputs (list parallel rdfind zstd))
|
|
||||||
(home-page
|
(home-page
|
||||||
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git")
|
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git")
|
||||||
(synopsis "Nonfree firmware blobs for Linux")
|
(synopsis "Nonfree firmware blobs for Linux")
|
||||||
|
@ -369,23 +347,23 @@ if your hardware is supported by one of the smaller firmware packages.")
|
||||||
|
|
||||||
(define (select-firmware keep)
|
(define (select-firmware keep)
|
||||||
"Modify linux-firmware copy list to retain only files matching KEEP regex."
|
"Modify linux-firmware copy list to retain only files matching KEEP regex."
|
||||||
#~(lambda _
|
`(lambda _
|
||||||
(use-modules (ice-9 regex))
|
(use-modules (ice-9 regex))
|
||||||
(substitute* "WHENCE"
|
(substitute* "WHENCE"
|
||||||
(("^(File|RawFile|Link): *([^ ]*)(.*)" _ type file rest)
|
(("^(File|Link): *([^ ]*)(.*)" _ type file rest)
|
||||||
(string-append (if (string-match #$keep file) type "Skip") ": " file rest)))))
|
(string-append (if (string-match ,keep file) type "Skip") ": " file rest)))))
|
||||||
|
|
||||||
(define-public amdgpu-firmware
|
(define-public amdgpu-firmware
|
||||||
(package
|
(package
|
||||||
(inherit linux-firmware)
|
(inherit linux-firmware)
|
||||||
(name "amdgpu-firmware")
|
(name "amdgpu-firmware")
|
||||||
(arguments
|
(arguments
|
||||||
(cons* #:license-file-regexp "LICENSE.amdgpu"
|
`(#:license-file-regexp "LICENSE.amdgpu"
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||||
((#:phases phases #~%standard-phases)
|
((#:phases phases)
|
||||||
#~(modify-phases #$phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'select-firmware
|
(add-after 'unpack 'select-firmware
|
||||||
#$(select-firmware "^amdgpu/")))))))
|
,(select-firmware "^amdgpu/")))))))
|
||||||
(home-page "http://support.amd.com/en-us/download/linux")
|
(home-page "http://support.amd.com/en-us/download/linux")
|
||||||
(synopsis "Nonfree firmware for AMD graphics chips")
|
(synopsis "Nonfree firmware for AMD graphics chips")
|
||||||
(description "Nonfree firmware for AMD graphics chips. While most AMD
|
(description "Nonfree firmware for AMD graphics chips. While most AMD
|
||||||
|
@ -403,12 +381,12 @@ advanced 3D.")
|
||||||
(inherit amdgpu-firmware)
|
(inherit amdgpu-firmware)
|
||||||
(name "radeon-firmware")
|
(name "radeon-firmware")
|
||||||
(arguments
|
(arguments
|
||||||
(cons* #:license-file-regexp "LICENSE.radeon"
|
`(#:license-file-regexp "LICENSE.radeon"
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||||
((#:phases phases #~%standard-phases)
|
((#:phases phases)
|
||||||
#~(modify-phases #$phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'select-firmware
|
(add-after 'unpack 'select-firmware
|
||||||
#$(select-firmware "^radeon/")))))))
|
,(select-firmware "^radeon/")))))))
|
||||||
(synopsis "Nonfree firmware for older AMD graphics chips")
|
(synopsis "Nonfree firmware for older AMD graphics chips")
|
||||||
(description "Nonfree firmware for AMD graphics chips. While most AMD
|
(description "Nonfree firmware for AMD graphics chips. While most AMD
|
||||||
graphics cards can be run with the free Mesa, some cards require a nonfree
|
graphics cards can be run with the free Mesa, some cards require a nonfree
|
||||||
|
@ -460,12 +438,12 @@ and modules, userspace libraries, and bootloader/GPU firmware.")
|
||||||
(inherit linux-firmware)
|
(inherit linux-firmware)
|
||||||
(name "atheros-firmware")
|
(name "atheros-firmware")
|
||||||
(arguments
|
(arguments
|
||||||
(cons* #:license-file-regexp "LICEN[CS]E.*[Aa]th"
|
`(#:license-file-regexp "LICEN[CS]E.*[Aa]th"
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||||
((#:phases phases #~%standard-phases)
|
((#:phases phases)
|
||||||
#~(modify-phases #$phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'select-firmware
|
(add-after 'unpack 'select-firmware
|
||||||
#$(select-firmware "^(ar[3579]|ath[1369]|htc_[79]|qca/|wil6)")))))))
|
,(select-firmware "^(ar[3579]|ath[1369]|htc_[79]|qca/|wil6)")))))))
|
||||||
(synopsis "Nonfree firmware blobs for Atheros wireless cards")
|
(synopsis "Nonfree firmware blobs for Atheros wireless cards")
|
||||||
(description "Nonfree firmware blobs for Atheros wireless cards. This
|
(description "Nonfree firmware blobs for Atheros wireless cards. This
|
||||||
package contains nonfree firmware for the following chips:
|
package contains nonfree firmware for the following chips:
|
||||||
|
@ -636,12 +614,12 @@ WLAN.TF.2.1-00021-QCARMSWP-1 (ath10k/QCA9377/hw1.0/firmware-6.bin)
|
||||||
(inherit linux-firmware)
|
(inherit linux-firmware)
|
||||||
(name "ibt-hw-firmware")
|
(name "ibt-hw-firmware")
|
||||||
(arguments
|
(arguments
|
||||||
(cons* #:license-file-regexp "LICENCE.ibt_firmware"
|
`(#:license-file-regexp "LICENCE.ibt_firmware"
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||||
((#:phases phases #~%standard-phases)
|
((#:phases phases)
|
||||||
#~(modify-phases #$phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'select-firmware
|
(add-after 'unpack 'select-firmware
|
||||||
#$(select-firmware "^intel/ibt-")))))))
|
,(select-firmware "^intel/ibt-")))))))
|
||||||
(home-page "http://www.intel.com/support/wireless/wlan/sb/CS-016675.htm")
|
(home-page "http://www.intel.com/support/wireless/wlan/sb/CS-016675.htm")
|
||||||
(synopsis "Non-free firmware for Intel bluetooth chips")
|
(synopsis "Non-free firmware for Intel bluetooth chips")
|
||||||
(description "This firmware is required by the btintel kernel module to
|
(description "This firmware is required by the btintel kernel module to
|
||||||
|
@ -657,12 +635,12 @@ laptops).")
|
||||||
(inherit linux-firmware)
|
(inherit linux-firmware)
|
||||||
(name "iwlwifi-firmware")
|
(name "iwlwifi-firmware")
|
||||||
(arguments
|
(arguments
|
||||||
(cons* #:license-file-regexp "LICENCE.iwlwifi_firmware"
|
`(#:license-file-regexp "LICENCE.iwlwifi_firmware"
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||||
((#:phases phases #~%standard-phases)
|
((#:phases phases)
|
||||||
#~(modify-phases #$phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'select-firmware
|
(add-after 'unpack 'select-firmware
|
||||||
#$(select-firmware "^iwlwifi-")))))))
|
,(select-firmware "^iwlwifi-")))))))
|
||||||
(home-page "https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi")
|
(home-page "https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi")
|
||||||
(synopsis "Nonfree firmware for Intel wifi chips")
|
(synopsis "Nonfree firmware for Intel wifi chips")
|
||||||
(description "The proprietary iwlwifi kernel module is required by many
|
(description "The proprietary iwlwifi kernel module is required by many
|
||||||
|
@ -678,12 +656,12 @@ support for 5GHz and 802.11ac, among others.")
|
||||||
(inherit linux-firmware)
|
(inherit linux-firmware)
|
||||||
(name "i915-firmware")
|
(name "i915-firmware")
|
||||||
(arguments
|
(arguments
|
||||||
(cons* #:license-file-regexp "LICENCE.i915"
|
`(#:license-file-regexp "LICENCE.i915"
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||||
((#:phases phases #~%standard-phases)
|
((#:phases phases)
|
||||||
#~(modify-phases #$phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'select-firmware
|
(add-after 'unpack 'select-firmware
|
||||||
#$(select-firmware "^i915/")))))))
|
,(select-firmware "^i915/")))))))
|
||||||
(home-page "https://01.org/linuxgraphics/gfx-docs/drm/gpu/i915.html")
|
(home-page "https://01.org/linuxgraphics/gfx-docs/drm/gpu/i915.html")
|
||||||
(synopsis "Nonfree firmware for Intel integrated graphics")
|
(synopsis "Nonfree firmware for Intel integrated graphics")
|
||||||
(description "This package contains the various firmware for Intel
|
(description "This package contains the various firmware for Intel
|
||||||
|
@ -693,124 +671,18 @@ integrated graphics chipsets, including GuC, HuC and DMC.")
|
||||||
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware"
|
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware"
|
||||||
"/linux-firmware.git/plain/LICENCE.i915")))))
|
"/linux-firmware.git/plain/LICENCE.i915")))))
|
||||||
|
|
||||||
(define-public mediatek-firmware
|
|
||||||
(package
|
|
||||||
(inherit linux-firmware)
|
|
||||||
(name "mediatek-firmware")
|
|
||||||
(arguments
|
|
||||||
(cons* #:license-file-regexp "LICENCE\\.(mediatek\
|
|
||||||
|ralink_a_mediatek_company_firmware)"
|
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
|
||||||
((#:phases phases #~%standard-phases)
|
|
||||||
#~(modify-phases #$phases
|
|
||||||
(add-after 'unpack 'select-firmware
|
|
||||||
#$(select-firmware "^mediatek/")))))))
|
|
||||||
(synopsis
|
|
||||||
"Nonfree firmware for MediaTek chips")
|
|
||||||
(description
|
|
||||||
"Nonfree firmware for MediaTek Ethernet, WiFi, Bluetooth, Video Processing
|
|
||||||
Units (VPU), etc. chips. This package contains nonfree firmware for the
|
|
||||||
following drivers/chips:
|
|
||||||
@table @code
|
|
||||||
@item mt7601u
|
|
||||||
MediaTek MT7601U firmware (mediatek/mt7601u.bin)
|
|
||||||
@item btmtk_usb
|
|
||||||
MediaTek Bluetooth USB driver firmware (mediatek/mt7650.bin,
|
|
||||||
mediatek/mt7622pr2h.bin, mediatek/mt7668pr2h.bin)
|
|
||||||
@item mtk-vpu
|
|
||||||
MediaTek VPU video processing unit driver (mediatek/mt8173/vpu_d.bin
|
|
||||||
and mediatek/mt8173/vpu_p.bin)
|
|
||||||
@item mtk_scp
|
|
||||||
MediaTek SCP System Control Processing Driver (mediatek/mt8183/scp.img,
|
|
||||||
mediatek/mt8186/scp.img, mediatek/mt8192/scp.img and mediatek/mt8195/scp.img)
|
|
||||||
@item mt76x0
|
|
||||||
MediaTek MT76x0 Wireless MACs (mediatek/mt7610u.bin,
|
|
||||||
mediatek/mt7610e.bin and mediatek/mt7650e.bin)
|
|
||||||
@item mt76x2e
|
|
||||||
MediaTek MT76x2 Wireless MACs
|
|
||||||
(mediatek/mt7662.bin and mediatek/mt7662_rom_patch.bin)
|
|
||||||
@item mt76x2u
|
|
||||||
MediaTek MT76x2u Wireless MACs
|
|
||||||
(mediatek/mt7662u.bin and mediatek/mt7662u_rom_patch.bin)
|
|
||||||
@item mt7615e
|
|
||||||
MediaTek MT7615e Wireless MACs (mediatek/mt7615_n9.bin,
|
|
||||||
mediatek/mt7615_cr4.bin and mediatek/mt7615_rom_patch.bin)
|
|
||||||
@item mt7622
|
|
||||||
MediaTek MT7622 Wireless MACs (mediatek/mt7622_n9.bin and
|
|
||||||
mediatek/mt7622_rom_patch.bin)
|
|
||||||
@item mt7663
|
|
||||||
MediaTek MT7663 Wireless MACs (mediatek/mt7663pr2h.bin,
|
|
||||||
mediatek/mt7663_n9_v3.bin, mediatek/mt7663pr2h_rebb.bin and
|
|
||||||
mediatek/mt7663_n9_rebb.bin)
|
|
||||||
@item mt7915e
|
|
||||||
MediaTek Wireless MACs for MT7915/MT7916/MT7986/MT7981
|
|
||||||
(mediatek/mt7915_wm.bin, mediatek/mt7915_wa.bin, mediatek/mt7915_rom_patch.bin,
|
|
||||||
mediatek/mt7915_eeprom.bin, mediatek/mt7915_eeprom_dbdc.bin,
|
|
||||||
mediatek/mt7916_wm.bin, mediatek/mt7916_wa.bin, mediatek/mt7916_rom_patch.bin,
|
|
||||||
mediatek/mt7916_eeprom.bin, mediatek/mt7986_wm.bin,
|
|
||||||
mediatek/mt7986_wm_mt7975.bin, mediatek/mt7986_wa.bin,
|
|
||||||
mediatek/mt7986_rom_patch.bin, mediatek/mt7986_rom_patch_mt7975.bin,
|
|
||||||
mediatek/mt7986_wo_0.bin, mediatek/mt7986_wo_1.bin,
|
|
||||||
mediatek/mt7986_eeprom_mt7976.bin, mediatek/mt7986_eeprom_mt7976_dbdc.bin,
|
|
||||||
mediatek/mt7986_eeprom_mt7976_dual.bin, mediatek/mt7986_eeprom_mt7975_dual.bin,
|
|
||||||
mediatek/mt7981_wm.bin, mediatek/mt7981_wa.bin, mediatek/mt7981_rom_patch.bin,
|
|
||||||
and mediatek/mt7981_wo.bin)
|
|
||||||
@item mt7921
|
|
||||||
MediaTek MT7921 Wireless MACs
|
|
||||||
(mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin and
|
|
||||||
mediatek/WIFI_RAM_CODE_MT7961_1.bin)
|
|
||||||
@item mt7921
|
|
||||||
MediaTek MT7921 bluetooth chipset (BT_RAM_CODE_MT7961_1_2_hdr.bin)
|
|
||||||
@item mt7922
|
|
||||||
MediaTek MT7922 Wireless MACs
|
|
||||||
(mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin and
|
|
||||||
mediatek/WIFI_RAM_CODE_MT7922_1.bin)
|
|
||||||
@item mt7922
|
|
||||||
MediaTek MT7922 bluetooth chipset
|
|
||||||
(mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin)
|
|
||||||
@item mt7925
|
|
||||||
MediaTek MT7925 Wireless MACs
|
|
||||||
(mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin and
|
|
||||||
mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin)
|
|
||||||
@item mt7925
|
|
||||||
MediaTek MT7925 bluetooth chipset
|
|
||||||
(mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin)
|
|
||||||
@item mt7988
|
|
||||||
MediaTek MT7988 Internal 2.5G Ethernet Phy
|
|
||||||
(mediatek/mt7988/i2p5ge-phy-pmb.bin)
|
|
||||||
@item mt7996e
|
|
||||||
MediaTek Wireless MACs for MT7996 (mediatek/mt7996/mt7996_wm.bin,
|
|
||||||
mediatek/mt7996/mt7996_wa.bin, mediatek/mt7996/mt7996_rom_patch.bin,
|
|
||||||
mediatek/mt7996/mt7996_dsp.bin and mediatek/mt7996/mt7996_eeprom.bin)
|
|
||||||
@item mtk-sof
|
|
||||||
MediaTek Sound Open Firmware driver (mediatek/sof/sof-mt8186.ri,
|
|
||||||
mediatek/sof/sof-mt8186.ri, mediatek/sof/sof-mt8186.ldc,
|
|
||||||
mediatek/sof-tplg/sof-mt8186.tplg, mediatek/sof/sof-mt8195.ri,
|
|
||||||
mediatek/sof/sof-mt8195.ldc and
|
|
||||||
mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682.tplg)
|
|
||||||
@end table")
|
|
||||||
(license
|
|
||||||
(list (nonfree
|
|
||||||
(string-append
|
|
||||||
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware"
|
|
||||||
"/linux-firmware.git/plain/LICENCE.mediatek"))
|
|
||||||
(nonfree
|
|
||||||
(string-append
|
|
||||||
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware"
|
|
||||||
"/linux-firmware.git/plain"
|
|
||||||
"/LICENCE.ralink_a_mediatek_company_firmware"))))))
|
|
||||||
|
|
||||||
(define-public realtek-firmware
|
(define-public realtek-firmware
|
||||||
(package
|
(package
|
||||||
(inherit linux-firmware)
|
(inherit linux-firmware)
|
||||||
(name "realtek-firmware")
|
(name "realtek-firmware")
|
||||||
(arguments
|
(arguments
|
||||||
(cons* #:license-file-regexp "LICENCE.rtlwifi_firmware.txt"
|
`(#:license-file-regexp "LICENCE.rtlwifi_firmware.txt"
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||||
((#:phases phases #~%standard-phases)
|
((#:phases phases)
|
||||||
#~(modify-phases #$phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'select-firmware
|
(add-after 'unpack 'select-firmware
|
||||||
#$(select-firmware "^(rtlwifi|rtl_nic|rtl_bt|rtw88|rtw89)/")))))))
|
,(select-firmware
|
||||||
|
"^(rtlwifi|rtl_nic|rtl_bt|rtw88|rtw89)/")))))))
|
||||||
(home-page "https://wireless.wiki.kernel.org/en/users/drivers/rtl819x")
|
(home-page "https://wireless.wiki.kernel.org/en/users/drivers/rtl819x")
|
||||||
(synopsis "Nonfree firmware for Realtek ethernet, wifi, and bluetooth chips")
|
(synopsis "Nonfree firmware for Realtek ethernet, wifi, and bluetooth chips")
|
||||||
(description
|
(description
|
||||||
|
@ -900,8 +772,8 @@ package contains nonfree firmware for the following chips:
|
||||||
(deprecated-package "rtl-bt-firmware" realtek-firmware))
|
(deprecated-package "rtl-bt-firmware" realtek-firmware))
|
||||||
|
|
||||||
(define-public rtl8192eu-linux-module
|
(define-public rtl8192eu-linux-module
|
||||||
(let ((commit "3af9a868a0ca622d830966ac83aea2bf17cd0d65")
|
(let ((commit "a928f08c1dd4f9a1e84d85811a543e974551bc4f")
|
||||||
(revision "7"))
|
(revision "6"))
|
||||||
(package
|
(package
|
||||||
(name "rtl8192eu-linux-module")
|
(name "rtl8192eu-linux-module")
|
||||||
(version (git-version "0.0.0" revision commit))
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
@ -914,7 +786,7 @@ package contains nonfree firmware for the following chips:
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0d2qzf7xbipjdp1zm2ffqhnda8wasqriqnv6dkl0mhqn2f8za3i8"))))
|
"1q26kyic4glmgy0hbaq46r067m6cqf7d41chgivyxn8y32rf1fgc"))))
|
||||||
(build-system linux-module-build-system)
|
(build-system linux-module-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags
|
`(#:make-flags
|
||||||
|
@ -937,8 +809,8 @@ network adapters.")
|
||||||
(license gpl2))))
|
(license gpl2))))
|
||||||
|
|
||||||
(define-public rtl8821ce-linux-module
|
(define-public rtl8821ce-linux-module
|
||||||
(let ((commit "f119398d868b1a3395f40c1df2e08b57b2c882cd")
|
(let ((commit "a478095a45d8aa957b45be4f9173c414efcacc6f")
|
||||||
(revision "12"))
|
(revision "10"))
|
||||||
(package
|
(package
|
||||||
(name "rtl8821ce-linux-module")
|
(name "rtl8821ce-linux-module")
|
||||||
(version (git-version "0.0.0" revision commit))
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
@ -951,7 +823,7 @@ network adapters.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"03336fzhcyfkxa32rx0calzlyzamvinql5f19wwm61aijrmlmyhi"))))
|
"00cn87jjrcxjqr3n8jv4w3n64zksmzz05fdr1gdvnbx1ab5739f6"))))
|
||||||
(build-system linux-module-build-system)
|
(build-system linux-module-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:make-flags
|
(list #:make-flags
|
||||||
|
@ -980,8 +852,8 @@ network adapters.")
|
||||||
(license gpl2))))
|
(license gpl2))))
|
||||||
|
|
||||||
(define-public rtl8821cu-linux-module
|
(define-public rtl8821cu-linux-module
|
||||||
(let ((commit "4f6004af4c4171882f37e2e5d8fb3609fe260617")
|
(let ((commit "a41ef7cabd1aa36fa2b4eb63a71cf719bff11b72")
|
||||||
(revision "2"))
|
(revision "1"))
|
||||||
(package
|
(package
|
||||||
(name "rtl8821cu-linux-module")
|
(name "rtl8821cu-linux-module")
|
||||||
(version (git-version "0.0.0" revision commit))
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
@ -993,7 +865,7 @@ network adapters.")
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "09ig0rrkkn00i3d1n6p62n1610kcjgb2h9kbcqdsrmpnlnw5kfl2"))))
|
(base32 "0fnv4gm4adnf8gbjzc2lljh2a3i111159qira3w0qm1zhyqadaq0"))))
|
||||||
(build-system linux-module-build-system)
|
(build-system linux-module-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -1034,8 +906,8 @@ to disable the conflicting rtw88 driver:
|
||||||
"https://github.com/morrownr/8821cu-20210916/blob/main/LICENSE")))))
|
"https://github.com/morrownr/8821cu-20210916/blob/main/LICENSE")))))
|
||||||
|
|
||||||
(define-public rtl8812au-aircrack-ng-linux-module
|
(define-public rtl8812au-aircrack-ng-linux-module
|
||||||
(let ((commit "63cf0b4584aa8878b0fe8ab38017f31c319bde3d")
|
(let ((commit "35308f4dd73e77fa572c48867cce737449dd8548")
|
||||||
(revision "13"))
|
(revision "11"))
|
||||||
(package
|
(package
|
||||||
(inherit rtl8821ce-linux-module)
|
(inherit rtl8821ce-linux-module)
|
||||||
(name "rtl8812au-aircrack-ng-linux-module")
|
(name "rtl8812au-aircrack-ng-linux-module")
|
||||||
|
@ -1048,7 +920,7 @@ to disable the conflicting rtw88 driver:
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "103pn6qlj116dm244ygf1wic9dq2qn80lafiyxynyhpckkyhhfxl"))
|
(base32 "1clqrgmq5fhzybbiapmdbhg5qfx9k21r0hqa9pqmyinaqhvfnhfj"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
#~(begin
|
#~(begin
|
||||||
|
@ -1097,9 +969,9 @@ giving you trouble, you can try this module.")
|
||||||
(define (broadcom-sta-patch name commit hash)
|
(define (broadcom-sta-patch name commit hash)
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://raw.githubusercontent.com/rpmfusion/wl-kmod/"
|
(uri (string-append "https://raw.githubusercontent.com/NixOS/nixpkgs/"
|
||||||
commit
|
commit
|
||||||
"wl-kmod-"
|
"/pkgs/os-specific/linux/broadcom-sta/"
|
||||||
name
|
name
|
||||||
".patch"))
|
".patch"))
|
||||||
(sha256
|
(sha256
|
||||||
|
@ -1114,12 +986,12 @@ giving you trouble, you can try this module.")
|
||||||
(string-replace-substring broadcom-sta-version "." "_")
|
(string-replace-substring broadcom-sta-version "." "_")
|
||||||
".tar.gz"))
|
".tar.gz"))
|
||||||
(patches
|
(patches
|
||||||
;; Keep these in sync with the patches at
|
;; Keep these in sync with the list at
|
||||||
;; https://github.com/rpmfusion/wl-kmod
|
;; https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/broadcom-sta.
|
||||||
;; They seem to be good about keeping broadcom patches up to date so updating
|
;; Nixpkgs is good about keeping broadcom patches up to date so updating
|
||||||
;; for a new kernel release should be as simple as chaging the commit to
|
;; for a new kernel release should be as simple as chaging the commit to
|
||||||
;; the newest available and adding any new patches.
|
;; the newest available and adding any new patches.
|
||||||
(let ((commit "cb67598cbf5d8c5260b750d6f7e5c6a6599b7b85"))
|
(let ((commit "355042e2ff5933b245e804c5eaff4ec3f340e71b"))
|
||||||
(list
|
(list
|
||||||
(broadcom-sta-patch "i686-build-failure" commit "1522w2gb698svlkb2b4lijbd740agvs2ibpz4g0jlv8v31cybkf4")
|
(broadcom-sta-patch "i686-build-failure" commit "1522w2gb698svlkb2b4lijbd740agvs2ibpz4g0jlv8v31cybkf4")
|
||||||
(broadcom-sta-patch "license" commit "0rwlhafcmpp97cknqwv8gwf8sbxgqavgci1ywfkdxiylh4mhcvhr")
|
(broadcom-sta-patch "license" commit "0rwlhafcmpp97cknqwv8gwf8sbxgqavgci1ywfkdxiylh4mhcvhr")
|
||||||
|
@ -1137,9 +1009,7 @@ giving you trouble, you can try this module.")
|
||||||
(broadcom-sta-patch "linux-6.1" commit "1pvx1h7iimcbfqdc13n1980ngxk9q6iyip8svn293x4h7jn472kf")
|
(broadcom-sta-patch "linux-6.1" commit "1pvx1h7iimcbfqdc13n1980ngxk9q6iyip8svn293x4h7jn472kf")
|
||||||
(broadcom-sta-patch "pedantic-fix" commit "1kxmw1iyxnfwad75h981sak5qk16p81xy1f2qxss2d0v97vkfkl5")
|
(broadcom-sta-patch "pedantic-fix" commit "1kxmw1iyxnfwad75h981sak5qk16p81xy1f2qxss2d0v97vkfkl5")
|
||||||
(broadcom-sta-patch "null-pointer-fix" commit "15c2vxgf7v5wy4s8w9jk7irf3fxxghy05gxmav1ss73a2azajdx7")
|
(broadcom-sta-patch "null-pointer-fix" commit "15c2vxgf7v5wy4s8w9jk7irf3fxxghy05gxmav1ss73a2azajdx7")
|
||||||
(broadcom-sta-patch "gcc" commit "0jcqk2vapyy2pbsjv9n8b3qp6vqz17d6s07cr04cx7075q7yhz5h")
|
(broadcom-sta-patch "gcc" commit "0jcqk2vapyy2pbsjv9n8b3qp6vqz17d6s07cr04cx7075q7yhz5h"))))
|
||||||
(broadcom-sta-patch "028_kernel_6.12_adaption" commit
|
|
||||||
"154dhlb3vyq8bnx7f371scsrhp9cszvmqlswqg5vi6gfgbqnrq08"))))
|
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1gj485qqr190idilacpxwgqyw21il03zph2rddizgj7fbd6pfyaz"))))
|
"1gj485qqr190idilacpxwgqyw21il03zph2rddizgj7fbd6pfyaz"))))
|
||||||
|
@ -1284,7 +1154,7 @@ chipsets from Broadcom:
|
||||||
(define-public facetimehd
|
(define-public facetimehd
|
||||||
(package
|
(package
|
||||||
(name "facetimehd")
|
(name "facetimehd")
|
||||||
(version "0.6.8.2")
|
(version "0.6.8")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -1294,7 +1164,7 @@ chipsets from Broadcom:
|
||||||
(file-name (git-file-name "facetimehd" version))
|
(file-name (git-file-name "facetimehd" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1mk9zw100258khc3510jzgm8rci3l26ad0lx4fcqrd8ksq8k03kp"))))
|
"1g0ky9w5klkjndf30mjymq78r6yls9gri9x702nn8qkmgkjbqdsg"))))
|
||||||
(build-system linux-module-build-system)
|
(build-system linux-module-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:tests? #f))
|
'(#:tests? #f))
|
||||||
|
@ -1318,7 +1188,7 @@ driver:
|
||||||
(define-public intel-microcode
|
(define-public intel-microcode
|
||||||
(package
|
(package
|
||||||
(name "intel-microcode")
|
(name "intel-microcode")
|
||||||
(version "20241112")
|
(version "20231114")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -1329,7 +1199,7 @@ driver:
|
||||||
(commit (string-append "microcode-" version))))
|
(commit (string-append "microcode-" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1i2pfw1vfnws76dpdik5x9kn3rysq8ggb4c16c2lmxzz4phyvxbn"))))
|
(base32 "07c7hkwpvb9056s73s55sg04cxr1d9n1sd9r1g7sm3gh70yc17ki"))))
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:install-plan
|
(list #:install-plan
|
||||||
|
@ -1353,12 +1223,12 @@ your CPU.")
|
||||||
(inherit linux-firmware)
|
(inherit linux-firmware)
|
||||||
(name "amd-microcode")
|
(name "amd-microcode")
|
||||||
(arguments
|
(arguments
|
||||||
(cons* #:license-file-regexp "LICENSE.amd-ucode"
|
`(#:license-file-regexp "LICENSE.amd-ucode"
|
||||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||||
((#:phases phases #~%standard-phases)
|
((#:phases phases)
|
||||||
#~(modify-phases #$phases
|
`(modify-phases ,phases
|
||||||
(add-after 'unpack 'select-firmware
|
(add-after 'unpack 'select-firmware
|
||||||
#$(select-firmware "^amd-ucode/")))))))
|
,(select-firmware "^amd-ucode/")))))))
|
||||||
(synopsis "Processor microcode firmware for AMD CPUs")
|
(synopsis "Processor microcode firmware for AMD CPUs")
|
||||||
(description "Updated system processor microcode for AMD x86-64
|
(description "Updated system processor microcode for AMD x86-64
|
||||||
processors. AMD releases microcode updates to correct processor behavior as
|
processors. AMD releases microcode updates to correct processor behavior as
|
||||||
|
@ -1371,23 +1241,20 @@ documented in the respective processor revision guides.")
|
||||||
(define-public sof-firmware
|
(define-public sof-firmware
|
||||||
(package
|
(package
|
||||||
(name "sof-firmware")
|
(name "sof-firmware")
|
||||||
(version "2024.09")
|
(version "2.2.6")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/thesofproject/sof-bin/releases/download/v"
|
(uri (string-append "https://github.com/thesofproject/sof-bin/releases/download/v"
|
||||||
version "/sof-bin-" version ".tar.gz"))
|
version "/sof-bin-v" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0866rg40gzlal90ykgs0x622vy3qrw1s3g0qfv80i41mh6gxjiza"))))
|
"018901g5hshrqf2d0rn7yhzxcy4gmdc4v6167df880kdcfkw48lk"))))
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:install-plan
|
`(#:install-plan
|
||||||
'(("sof" "lib/firmware/intel/sof")
|
(list (list (string-append "sof-v" ,version) "lib/firmware/intel/sof")
|
||||||
("sof-ace-tplg" "lib/firmware/intel/sof-ace-tplg")
|
(list (string-append "sof-tplg-v" ,version) "lib/firmware/intel/sof-tplg"))))
|
||||||
("sof-ipc4" "lib/firmware/intel/sof-ipc4")
|
|
||||||
("sof-ipc4-tplg" "lib/firmware/intel/sof-ipc4-tplg")
|
|
||||||
("sof-tplg" "lib/firmware/intel/sof-tplg"))))
|
|
||||||
(home-page "https://www.sofproject.org")
|
(home-page "https://www.sofproject.org")
|
||||||
(synopsis "Sound Open Firmware")
|
(synopsis "Sound Open Firmware")
|
||||||
(description "This package contains Linux firmwares and topology files for
|
(description "This package contains Linux firmwares and topology files for
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz>
|
;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||||
;;; Copyright © 2023, 2024 André A. Gomes <andremegafone@gmail.com>
|
;;; Copyright © 2023 André A. Gomes <andremegafone@gmail.com>
|
||||||
|
|
||||||
(define-module (nongnu packages lisp)
|
(define-module (nongnu packages lisp)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
|
#:use-module (gnu packages node)
|
||||||
#:use-module (gnu packages lisp)
|
#:use-module (gnu packages lisp)
|
||||||
#:use-module (gnu packages lisp-xyz)
|
#:use-module (gnu packages lisp-xyz)
|
||||||
|
;; #:use-module (gnu packages lisp-check)
|
||||||
#:use-module (nongnu packages electron)
|
#:use-module (nongnu packages electron)
|
||||||
#:use-module (guix build-system copy)
|
#:use-module (guix build-system copy)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
|
@ -123,8 +125,8 @@ then open a browser at http://localhost:PORT, where PORT is the indicated port."
|
||||||
"https://franz.com/ftp/pub/legal/ACL-Express-20170301.pdf"))))
|
"https://franz.com/ftp/pub/legal/ACL-Express-20170301.pdf"))))
|
||||||
|
|
||||||
(define-public sbcl-cl-electron
|
(define-public sbcl-cl-electron
|
||||||
(let ((commit "f2245dc1450a6ad416984cf932be50e00957390a")
|
(let ((commit "458a60d8c9baae71906294ffae891c3d0686c672")
|
||||||
(revision "3"))
|
(revision "2"))
|
||||||
(package
|
(package
|
||||||
(name "sbcl-cl-electron")
|
(name "sbcl-cl-electron")
|
||||||
(version (git-version "0.0.0" revision commit))
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
@ -136,22 +138,13 @@ then open a browser at http://localhost:PORT, where PORT is the indicated port."
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
(file-name (git-file-name "cl-electron" version))
|
(file-name (git-file-name "cl-electron" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0c18xbwwnjaiwzd01dprdrwzp27nwihaf7pmkql1f5yk43x3ajs0"))))
|
(base32 "1ya6y55kv0g3h19ifnmwbc752p00s9mj1b1n4ljw4n7ycxmdpb24"))))
|
||||||
(build-system asdf-build-system/sbcl)
|
(build-system asdf-build-system/sbcl)
|
||||||
(inputs (list electron
|
(native-inputs (list ;; sbcl-lisp-unit2
|
||||||
|
sbcl))
|
||||||
|
(inputs (list electron node
|
||||||
sbcl-cl-json sbcl-iolib sbcl-cl-str sbcl-nclasses
|
sbcl-cl-json sbcl-iolib sbcl-cl-str sbcl-nclasses
|
||||||
sbcl-cl-ppcre sbcl-bordeaux-threads sbcl-lparallel
|
sbcl-parenscript sbcl-bordeaux-threads))
|
||||||
sbcl-parenscript sbcl-spinneret))
|
|
||||||
(arguments
|
|
||||||
'(#:tests? #f
|
|
||||||
#:asd-systems '("cl-electron" "cl-electron/demos")
|
|
||||||
#:phases
|
|
||||||
(modify-phases %standard-phases
|
|
||||||
(add-after 'unpack 'fix-paths
|
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
|
||||||
(substitute* "source/core.lisp"
|
|
||||||
(("\"electron\"")
|
|
||||||
(string-append "\"" (assoc-ref inputs "electron") "/bin/electron\""))))))))
|
|
||||||
(synopsis "Common Lisp interface to Electron")
|
(synopsis "Common Lisp interface to Electron")
|
||||||
(home-page "https://github.com/atlas-engineer/cl-electron")
|
(home-page "https://github.com/atlas-engineer/cl-electron")
|
||||||
(description "@command{cl-electron} is a binding to Electron for
|
(description "@command{cl-electron} is a binding to Electron for
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2021, 2022 PantherX OS Team <team@pantherx.org>
|
;;; Copyright © 2021, 2022 PantherX OS Team <team@pantherx.org>
|
||||||
;;; Copyright © 2022, 2023, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2022, 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2022 Evgenii Lepikhin <johnlepikhin@gmail.com>
|
;;; Copyright © 2022 Evgenii Lepikhin <johnlepikhin@gmail.com>
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.org>
|
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.org>
|
||||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
|
||||||
|
|
||||||
(define-module (nongnu packages messaging)
|
(define-module (nongnu packages messaging)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
@ -37,7 +36,7 @@
|
||||||
(define-public element-desktop
|
(define-public element-desktop
|
||||||
(package
|
(package
|
||||||
(name "element-desktop")
|
(name "element-desktop")
|
||||||
(version "1.11.89")
|
(version "1.11.57")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -46,13 +45,13 @@
|
||||||
"https://packages.riot.im/debian/pool/main/e/" name "/" name "_" version
|
"https://packages.riot.im/debian/pool/main/e/" name "/" name "_" version
|
||||||
"_amd64.deb"))
|
"_amd64.deb"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0riavl8qq59s45xxdk0s1n6i1wymsx1zfdz5dp3ccr8xpzw77abq"))))
|
(base32 "05318i6z5kkzi01ygr77g5ij0hs4xmy0j23hznkqc4zia02q1vgx"))))
|
||||||
(supported-systems '("x86_64-linux"))
|
(supported-systems '("x86_64-linux"))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
#:wrapper-plan
|
#:wrapper-plan
|
||||||
#~'(("lib/Element/element-desktop" (("out" "/lib/Element"))))
|
#~'("lib/Element/element-desktop")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'binary-unpack 'setup-cwd
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
|
@ -70,7 +69,15 @@
|
||||||
(lambda _
|
(lambda _
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/Element/element-desktop")
|
(symlink (string-append #$output "/lib/Element/element-desktop")
|
||||||
(string-append #$output "/bin/element-desktop")))))))
|
(string-append #$output "/bin/element-desktop"))))
|
||||||
|
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||||
|
(lambda _
|
||||||
|
(wrap-program (string-append #$output "/lib/Element/element-desktop")
|
||||||
|
`("LD_LIBRARY_PATH" ":" prefix
|
||||||
|
(,(string-join
|
||||||
|
(list
|
||||||
|
(string-append #$output "/lib/Element"))
|
||||||
|
":")))))))))
|
||||||
(home-page "https://github.com/vector-im/element-desktop")
|
(home-page "https://github.com/vector-im/element-desktop")
|
||||||
(synopsis "Matrix collaboration client for desktop")
|
(synopsis "Matrix collaboration client for desktop")
|
||||||
(description "Element Desktop is a Matrix client for desktop with Element Web at
|
(description "Element Desktop is a Matrix client for desktop with Element Web at
|
||||||
|
@ -83,7 +90,7 @@ its core.")
|
||||||
(define-public signal-desktop
|
(define-public signal-desktop
|
||||||
(package
|
(package
|
||||||
(name "signal-desktop")
|
(name "signal-desktop")
|
||||||
(version "7.41.0")
|
(version "6.46.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -92,13 +99,13 @@ its core.")
|
||||||
"https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version
|
"https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version
|
||||||
"_amd64.deb"))
|
"_amd64.deb"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1ainlhhzf427f0jqdh83m8519ywihnxyiw505n4msgyhpwgwj5n0"))))
|
(base32 "1pjv8v1hhycwbvqvih83axv41jkyksq6d9152fqic9d61lbb1kpa"))))
|
||||||
(supported-systems '("x86_64-linux"))
|
(supported-systems '("x86_64-linux"))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
#:wrapper-plan
|
#:wrapper-plan
|
||||||
#~'(("lib/Signal/signal-desktop" (("out" "/lib/Signal"))))
|
#~'("lib/Signal/signal-desktop")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'binary-unpack 'setup-cwd
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
|
@ -116,7 +123,15 @@ its core.")
|
||||||
(lambda _
|
(lambda _
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/Signal/signal-desktop")
|
(symlink (string-append #$output "/lib/Signal/signal-desktop")
|
||||||
(string-append #$output "/bin/signal-desktop")))))))
|
(string-append #$output "/bin/signal-desktop"))))
|
||||||
|
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||||
|
(lambda _
|
||||||
|
(wrap-program (string-append #$output "/lib/Signal/signal-desktop")
|
||||||
|
`("LD_LIBRARY_PATH" ":" prefix
|
||||||
|
(,(string-join
|
||||||
|
(list
|
||||||
|
(string-append #$output "/lib/Signal"))
|
||||||
|
":")))))))))
|
||||||
(home-page "https://signal.org/")
|
(home-page "https://signal.org/")
|
||||||
(synopsis "Private messenger using the Signal protocol")
|
(synopsis "Private messenger using the Signal protocol")
|
||||||
(description "Signal Desktop is an Electron application that links with Signal on Android
|
(description "Signal Desktop is an Electron application that links with Signal on Android
|
||||||
|
@ -189,8 +204,8 @@ or iOS.")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(replace 'unpack
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(lambda _
|
||||||
(invoke "tar" "xvf" source)
|
(invoke "tar" "xvf" #$source)
|
||||||
;; Use the more standard lib directory for everything.
|
;; Use the more standard lib directory for everything.
|
||||||
(mkdir-p "lib")
|
(mkdir-p "lib")
|
||||||
(rename-file "zoom/" "lib/zoom")))
|
(rename-file "zoom/" "lib/zoom")))
|
||||||
|
|
|
@ -14,17 +14,15 @@
|
||||||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||||
;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net>
|
;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net>
|
||||||
;;; Copyright © 2020-2025 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
;;; Copyright © 2020-2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
|
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
|
||||||
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
|
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
|
||||||
;;; Copyright © 2021, 2024 Brice Waegeneire <brice@waegenei.re>
|
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
|
||||||
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
|
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
|
||||||
;;; Copyright © 2023 Tomas Volf <wolf@wolfsden.cz>
|
;;; Copyright © 2023 Tomas Volf <wolf@wolfsden.cz>
|
||||||
|
|
||||||
(define-module (nongnu packages mozilla)
|
(define-module (nongnu packages mozilla)
|
||||||
#:use-module (srfi srfi-26)
|
|
||||||
|
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system cargo)
|
#:use-module (guix build-system cargo)
|
||||||
#:use-module (guix build-system trivial)
|
#:use-module (guix build-system trivial)
|
||||||
|
@ -74,39 +72,44 @@
|
||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
#:use-module (gnu packages xorg))
|
#:use-module (gnu packages xorg))
|
||||||
|
|
||||||
;;; Define the versions of rust needed to build firefox, trying to match
|
;; Define the versions of rust needed to build firefox, trying to match
|
||||||
;;; upstream. See table at [0], `Uses' column for the specific version.
|
;; upstream. See the file taskcluster/ci/toolchain/rust.yml at
|
||||||
;;; Using `rust' will likely lead to a newer version then listed in the table,
|
;; https://searchfox.org under the particular firefox release, like
|
||||||
;;; but since in Guix only the latest packaged Rust is officially supported,
|
;; mozilla-esr102.
|
||||||
;;; it is a tradeoff worth making.
|
(define-public rust-firefox-esr rust) ; 1.60 is the default in Guix
|
||||||
;;; 0: https://firefox-source-docs.mozilla.org/writing-rust-code/update-policy.html
|
(define-public rust-firefox rust) ; 1.65 is the minimum
|
||||||
;; The `rust' package is too old.
|
|
||||||
(define-public rust-firefox-esr rust-1.77)
|
(define icu4c-73
|
||||||
(define-public rust-firefox rust-1.77)
|
(package
|
||||||
|
(inherit icu4c)
|
||||||
|
(version "73.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/unicode-org/icu/releases/download/release-"
|
||||||
|
(string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
|
||||||
|
"/icu4c-"
|
||||||
|
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
|
||||||
|
"-src.tgz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0iccpdvc0kvpww5a31k9gjkqigyz016i7v80r9zamd34w4fl6mx4"))))))
|
||||||
|
|
||||||
;; Update this id with every firefox update to its release date.
|
;; Update this id with every firefox update to its release date.
|
||||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||||
(define %firefox-esr-build-id "20250203132125")
|
(define %firefox-esr-build-id "20240219101823")
|
||||||
|
|
||||||
(define-public firefox-esr
|
(define-public firefox-esr
|
||||||
(package
|
(package
|
||||||
(name "firefox-esr")
|
(name "firefox-esr")
|
||||||
(version "128.7.0esr")
|
(version "115.8.0esr")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
||||||
version "/source/firefox-" version ".source.tar.xz"))
|
version "/source/firefox-" version ".source.tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1xwl6z8ax3dw5hjb5lwpl5641rmlizmfqs3xg74cnczsvm7bz9z0"))
|
(base32 "1slmp2v1q3my81z8kiym9rpxw5d9n4sn07v7hv99517w7vr8d05g"))))
|
||||||
(patches
|
|
||||||
(map (lambda (patch)
|
|
||||||
(search-path
|
|
||||||
(map (cut string-append <> "/nongnu/packages/patches")
|
|
||||||
%load-path)
|
|
||||||
patch))
|
|
||||||
'("firefox-esr-compare-paths.patch"
|
|
||||||
"firefox-esr-use-system-wide-dir.patch")))))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -138,11 +141,6 @@
|
||||||
"--with-distribution-id=org.nonguix"
|
"--with-distribution-id=org.nonguix"
|
||||||
"--disable-official-branding"
|
"--disable-official-branding"
|
||||||
|
|
||||||
;; Do not require addons in the global app or system directories to
|
|
||||||
;; be signed by Mozilla.
|
|
||||||
"--allow-addon-sideload"
|
|
||||||
"--with-unsigned-addon-scopes=app,system"
|
|
||||||
|
|
||||||
;; Features
|
;; Features
|
||||||
"--disable-tests"
|
"--disable-tests"
|
||||||
"--disable-updater"
|
"--disable-updater"
|
||||||
|
@ -166,7 +164,7 @@
|
||||||
(rnrs io ports)
|
(rnrs io ports)
|
||||||
(guix elf)
|
(guix elf)
|
||||||
(guix build gremlin)
|
(guix build gremlin)
|
||||||
,@%default-gnu-imported-modules)
|
,@%gnu-build-system-modules)
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'fix-preferences
|
(add-after 'unpack 'fix-preferences
|
||||||
|
@ -185,11 +183,6 @@
|
||||||
|
|
||||||
;; XDG settings should be managed by Guix.
|
;; XDG settings should be managed by Guix.
|
||||||
(write-setting "browser.shell.checkDefaultBrowser" "false")
|
(write-setting "browser.shell.checkDefaultBrowser" "false")
|
||||||
|
|
||||||
;; It defaults to Google Location Services, but misses a necessary
|
|
||||||
;; API key.
|
|
||||||
(write-setting "geo.provider.network.url"
|
|
||||||
"\"https://api.beacondb.net/v1/geolocate\"")
|
|
||||||
(close-port port))))
|
(close-port port))))
|
||||||
(add-after 'fix-preferences 'fix-ffmpeg-runtime-linker
|
(add-after 'fix-preferences 'fix-ffmpeg-runtime-linker
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
@ -238,7 +231,7 @@
|
||||||
;; complain that it's not able to change Cargo.lock.
|
;; complain that it's not able to change Cargo.lock.
|
||||||
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
|
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
|
||||||
(substitute* "build/RunCbindgen.py"
|
(substitute* "build/RunCbindgen.py"
|
||||||
(("args.append\\(\"--frozen\"\\)") "pass"))))
|
(("\"--frozen\",") ""))))
|
||||||
(delete 'bootstrap)
|
(delete 'bootstrap)
|
||||||
(add-before 'configure 'patch-SpeechDispatcherService.cpp
|
(add-before 'configure 'patch-SpeechDispatcherService.cpp
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -291,9 +284,6 @@
|
||||||
|
|
||||||
(setenv "MOZ_NOSPAM" "1")
|
(setenv "MOZ_NOSPAM" "1")
|
||||||
|
|
||||||
;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL").
|
|
||||||
(setenv "MOZ_APP_REMOTINGNAME" "Firefox")
|
|
||||||
|
|
||||||
(setenv "MOZBUILD_STATE_PATH" (getcwd))
|
(setenv "MOZBUILD_STATE_PATH" (getcwd))
|
||||||
|
|
||||||
(let* ((mozconfig (string-append (getcwd) "/mozconfig"))
|
(let* ((mozconfig (string-append (getcwd) "/mozconfig"))
|
||||||
|
@ -388,17 +378,13 @@
|
||||||
'("mesa" "ffmpeg")))))
|
'("mesa" "ffmpeg")))))
|
||||||
(pulseaudio-lib (string-append (assoc-ref inputs "pulseaudio")
|
(pulseaudio-lib (string-append (assoc-ref inputs "pulseaudio")
|
||||||
"/lib"))
|
"/lib"))
|
||||||
;; For sharing on Wayland
|
|
||||||
(pipewire-lib (string-append (assoc-ref inputs "pipewire")
|
|
||||||
"/lib"))
|
|
||||||
;; For U2F and WebAuthn
|
;; For U2F and WebAuthn
|
||||||
(eudev-lib (string-append (assoc-ref inputs "eudev") "/lib"))
|
(eudev-lib (string-append (assoc-ref inputs "eudev") "/lib"))
|
||||||
(gtk-share (string-append (assoc-ref inputs "gtk+")
|
(gtk-share (string-append (assoc-ref inputs "gtk+")
|
||||||
"/share")))
|
"/share")))
|
||||||
(wrap-program (car (find-files lib "^firefox$"))
|
(wrap-program (car (find-files lib "^firefox$"))
|
||||||
`("LD_LIBRARY_PATH" prefix (,mesa-lib ,libnotify-lib ,libva-lib
|
`("LD_LIBRARY_PATH" prefix (,mesa-lib ,libnotify-lib ,libva-lib
|
||||||
,pulseaudio-lib ,eudev-lib ,@rdd-whitelist
|
,pulseaudio-lib ,eudev-lib ,@rdd-whitelist))
|
||||||
,pipewire-lib))
|
|
||||||
`("XDG_DATA_DIRS" prefix (,gtk-share))
|
`("XDG_DATA_DIRS" prefix (,gtk-share))
|
||||||
`("MOZ_LEGACY_PROFILES" = ("1"))
|
`("MOZ_LEGACY_PROFILES" = ("1"))
|
||||||
`("MOZ_ALLOW_DOWNGRADE" = ("1"))))))
|
`("MOZ_ALLOW_DOWNGRADE" = ("1"))))))
|
||||||
|
@ -412,7 +398,7 @@
|
||||||
(("NewWindow") "new-window")
|
(("NewWindow") "new-window")
|
||||||
(("NewPrivateWindow") "new-private-window")
|
(("NewPrivateWindow") "new-private-window")
|
||||||
(("StartupNotify=true")
|
(("StartupNotify=true")
|
||||||
"StartupNotify=true\nStartupWMClass=Firefox"))
|
"StartupNotify=true\nStartupWMClass=Navigator"))
|
||||||
(install-file desktop-file applications))))
|
(install-file desktop-file applications))))
|
||||||
(add-after 'install-desktop-entry 'install-icons
|
(add-after 'install-desktop-entry 'install-icons
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
@ -487,7 +473,7 @@
|
||||||
alsa-lib
|
alsa-lib
|
||||||
autoconf-2.13
|
autoconf-2.13
|
||||||
`(,rust-firefox-esr "cargo")
|
`(,rust-firefox-esr "cargo")
|
||||||
clang-18
|
clang
|
||||||
llvm
|
llvm
|
||||||
wasm32-wasi-clang-toolchain
|
wasm32-wasi-clang-toolchain
|
||||||
m4
|
m4
|
||||||
|
@ -497,14 +483,9 @@
|
||||||
pkg-config
|
pkg-config
|
||||||
python
|
python
|
||||||
rust-firefox-esr
|
rust-firefox-esr
|
||||||
rust-cbindgen-0.26
|
rust-cbindgen-0.24
|
||||||
which
|
which
|
||||||
yasm))
|
yasm))
|
||||||
(native-search-paths
|
|
||||||
(list (search-path-specification
|
|
||||||
(variable "ICECAT_SYSTEM_DIR")
|
|
||||||
(separator #f) ;single entry
|
|
||||||
(files '("lib/icecat")))))
|
|
||||||
(home-page "https://mozilla.org/firefox/")
|
(home-page "https://mozilla.org/firefox/")
|
||||||
(synopsis "Trademarkless version of Firefox")
|
(synopsis "Trademarkless version of Firefox")
|
||||||
(description
|
(description
|
||||||
|
@ -551,29 +532,20 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
|
||||||
|
|
||||||
;; Update this id with every firefox update to its release date.
|
;; Update this id with every firefox update to its release date.
|
||||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||||
(define %firefox-build-id "20250203132324")
|
(define %firefox-build-id "20240219104035")
|
||||||
|
|
||||||
(define-public firefox
|
(define-public firefox
|
||||||
(package
|
(package
|
||||||
(inherit firefox-esr)
|
(inherit firefox-esr)
|
||||||
(name "firefox")
|
(name "firefox")
|
||||||
(version "135.0")
|
(version "123.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
||||||
version "/source/firefox-" version ".source.tar.xz"))
|
version "/source/firefox-" version ".source.tar.xz"))
|
||||||
(patches
|
|
||||||
(map (lambda (patch)
|
|
||||||
(search-path
|
|
||||||
(map (cut string-append <> "/nongnu/packages/patches")
|
|
||||||
%load-path)
|
|
||||||
patch))
|
|
||||||
'("firefox-restore-desktop-files.patch"
|
|
||||||
"firefox-esr-compare-paths.patch"
|
|
||||||
"firefox-use-system-wide-dir.patch")))
|
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0q5r2q6q56kyzl5pknrir9bzlhmzbvv9hi5gi4852izgcali4zl2"))))
|
(base32 "1dscgn1ymqi4zr29fpj43y8gaspc5wl7a59w657ws56vmnymm24y"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments firefox-esr)
|
(substitute-keyword-arguments (package-arguments firefox-esr)
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
|
@ -581,18 +553,16 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
|
||||||
(replace 'set-build-id
|
(replace 'set-build-id
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "MOZ_BUILD_DATE" #$%firefox-build-id)))))))
|
(setenv "MOZ_BUILD_DATE" #$%firefox-build-id)))))))
|
||||||
(inputs
|
|
||||||
(modify-inputs (package-inputs firefox-esr)
|
|
||||||
(replace "icu4c" icu4c-75)))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(modify-inputs (package-native-inputs firefox-esr)
|
(modify-inputs (package-native-inputs firefox-esr)
|
||||||
(replace "rust" rust-firefox)
|
(replace "rust" rust-firefox)
|
||||||
(replace "rust:cargo" `(,rust-firefox "cargo"))))
|
(replace "rust:cargo" `(,rust-firefox "cargo"))
|
||||||
|
(replace "rust-cbindgen" rust-cbindgen-0.26)))
|
||||||
(description
|
(description
|
||||||
"Full-featured browser client built from Firefox source tree, without
|
"Full-featured browser client built from Firefox source tree, without
|
||||||
the official icon and the name \"firefox\".")))
|
the official icon and the name \"firefox\".")))
|
||||||
|
|
||||||
;; As of Firefox 121.0, Firefox uses Wayland by default. This means we no
|
;; As of Firefox 121.0, Firefox uses Wayland by default. This means we no longer need a seperate package
|
||||||
;; longer need a seperate package for Firefox on Wayland.
|
;; for Firefox on Wayland.
|
||||||
(define-public firefox-wayland
|
(define-public firefox-wayland
|
||||||
(deprecated-package "firefox-wayland" firefox))
|
(deprecated-package "firefox-wayland" firefox))
|
||||||
|
|
|
@ -34,9 +34,7 @@
|
||||||
("x86_64-linux" "linux_x86_64")
|
("x86_64-linux" "linux_x86_64")
|
||||||
("i686-linux" "linux_i686")
|
("i686-linux" "linux_i686")
|
||||||
("aarch64-linux" "linux_aarch64")
|
("aarch64-linux" "linux_aarch64")
|
||||||
("armhf-linux" "linux_armv7l")
|
("armhf-linux" "linux_armv7l"))
|
||||||
;; We need a default case
|
|
||||||
(_ "unsupported"))
|
|
||||||
".tar.xz"))
|
".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
|
@ -44,9 +42,7 @@
|
||||||
("x86_64-linux" "1hd7fbk0px45fxhqa7nqcnij8ls2fhpjp60v840vy2zqs9fkcr52")
|
("x86_64-linux" "1hd7fbk0px45fxhqa7nqcnij8ls2fhpjp60v840vy2zqs9fkcr52")
|
||||||
("i686-linux" "11vk32mxyda9xl08pp2ivd1vsahnw6w7d08in4syz6iannfwp19b")
|
("i686-linux" "11vk32mxyda9xl08pp2ivd1vsahnw6w7d08in4syz6iannfwp19b")
|
||||||
("aarch64-linux" "0zpkaiwwxn8yh3s1d22qswshbgaxx5d8iy17hb3w256zgb722yjw")
|
("aarch64-linux" "0zpkaiwwxn8yh3s1d22qswshbgaxx5d8iy17hb3w256zgb722yjw")
|
||||||
("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk")
|
("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk"))))))
|
||||||
;; We need a valid base32 default case
|
|
||||||
(_ "0000000000000000000000000000000000000000000000000000"))))))
|
|
||||||
(build-system binary-build-system)
|
(build-system binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:strip-binaries? #f ;allocated section `.dynsym' not in segment
|
(list #:strip-binaries? #f ;allocated section `.dynsym' not in segment
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,23 +0,0 @@
|
||||||
See comment in gnu/build/icecat-extension.scm.
|
|
||||||
|
|
||||||
diff --git a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
|
|
||||||
index 0b885f6..0bbfbee 100644
|
|
||||||
--- a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
|
|
||||||
+++ b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
|
|
||||||
@@ -3607,6 +3607,7 @@ export const XPIDatabaseReconcile = {
|
|
||||||
if (
|
|
||||||
newAddon ||
|
|
||||||
oldAddon.updateDate != xpiState.mtime ||
|
|
||||||
+ oldAddon.path != xpiState.path ||
|
|
||||||
(aUpdateCompatibility && this.isAppBundledLocation(installLocation))
|
|
||||||
) {
|
|
||||||
newAddon = this.updateMetadata(
|
|
||||||
@@ -3615,8 +3616,6 @@ export const XPIDatabaseReconcile = {
|
|
||||||
xpiState,
|
|
||||||
newAddon
|
|
||||||
);
|
|
||||||
- } else if (oldAddon.path != xpiState.path) {
|
|
||||||
- newAddon = this.updatePath(installLocation, oldAddon, xpiState);
|
|
||||||
} else if (aUpdateCompatibility || aSchemaChange) {
|
|
||||||
newAddon = this.updateCompatibility(
|
|
||||||
installLocation,
|
|
|
@ -1,38 +0,0 @@
|
||||||
Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
|
|
||||||
native manifests) with "$ICECAT_SYSTEM_DIR".
|
|
||||||
|
|
||||||
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
|
|
||||||
index d3af49b495..4beef0aa7e 100644
|
|
||||||
--- a/toolkit/xre/nsXREDirProvider.cpp
|
|
||||||
+++ b/toolkit/xre/nsXREDirProvider.cpp
|
|
||||||
@@ -296,24 +296,12 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
|
|
||||||
static nsresult GetSystemParentDirectory(nsIFile** aFile) {
|
|
||||||
nsresult rv;
|
|
||||||
nsCOMPtr<nsIFile> localDir;
|
|
||||||
-# if defined(XP_MACOSX)
|
|
||||||
- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
|
|
||||||
- getter_AddRefs(localDir));
|
|
||||||
- if (NS_SUCCEEDED(rv)) {
|
|
||||||
- rv = localDir->AppendNative("Mozilla"_ns);
|
|
||||||
- }
|
|
||||||
-# else
|
|
||||||
- constexpr auto dirname =
|
|
||||||
-# ifdef HAVE_USR_LIB64_DIR
|
|
||||||
- "/usr/lib64/mozilla"_ns
|
|
||||||
-# elif defined(__OpenBSD__) || defined(__FreeBSD__)
|
|
||||||
- "/usr/local/lib/mozilla"_ns
|
|
||||||
-# else
|
|
||||||
- "/usr/lib/mozilla"_ns
|
|
||||||
-# endif
|
|
||||||
- ;
|
|
||||||
- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir));
|
|
||||||
-# endif
|
|
||||||
+
|
|
||||||
+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
|
|
||||||
+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
|
|
||||||
+
|
|
||||||
+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), false,
|
|
||||||
+ getter_AddRefs(localDir));
|
|
||||||
|
|
||||||
if (NS_SUCCEEDED(rv)) {
|
|
||||||
localDir.forget(aFile);
|
|
|
@ -1,917 +0,0 @@
|
||||||
From: John Kehayias
|
|
||||||
Date: Fri, 18 Oct 2024 20:33:02 -0400
|
|
||||||
Subject: [PATCH] Revert "Bug 1907512 - Remove duplicated desktop files
|
|
||||||
r=stransky"
|
|
||||||
|
|
||||||
This reverts commit 7ac2001cd0d4e1f44f104d9b17a427a009935e20 which removed the desktop files in favor of generating them. See upstream discussion at <https://bugzilla.mozilla.org/show_bug.cgi?id=1901703>.
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
.../search-provider-files/firefox.desktop | 274 +++++++++++++
|
|
||||||
.../org.mozilla.firefox.desktop | 386 ++++++++++++++++++
|
|
||||||
.../docker/firefox-snap/firefox.desktop | 219 ++++++++++
|
|
||||||
3 files changed, 879 insertions(+)
|
|
||||||
create mode 100644 browser/components/shell/search-provider-files/firefox.desktop
|
|
||||||
create mode 100644 taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
|
|
||||||
create mode 100644 taskcluster/docker/firefox-snap/firefox.desktop
|
|
||||||
|
|
||||||
diff --git a/browser/components/shell/search-provider-files/firefox.desktop b/browser/components/shell/search-provider-files/firefox.desktop
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..575290acddc3
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/browser/components/shell/search-provider-files/firefox.desktop
|
|
||||||
@@ -0,0 +1,274 @@
|
|
||||||
+[Desktop Entry]
|
|
||||||
+Version=1.0
|
|
||||||
+Name=Firefox
|
|
||||||
+GenericName=Web Browser
|
|
||||||
+GenericName[ca]=Navegador web
|
|
||||||
+GenericName[cs]=Webový prohlížeč
|
|
||||||
+GenericName[es]=Navegador web
|
|
||||||
+GenericName[fa]=مرورگر اینترنتی
|
|
||||||
+GenericName[fi]=WWW-selain
|
|
||||||
+GenericName[fr]=Navigateur Web
|
|
||||||
+GenericName[hu]=Webböngésző
|
|
||||||
+GenericName[it]=Browser Web
|
|
||||||
+GenericName[ja]=ウェブ・ブラウザ
|
|
||||||
+GenericName[ko]=웹 브라우저
|
|
||||||
+GenericName[nb]=Nettleser
|
|
||||||
+GenericName[nl]=Webbrowser
|
|
||||||
+GenericName[nn]=Nettlesar
|
|
||||||
+GenericName[no]=Nettleser
|
|
||||||
+GenericName[pl]=Przeglądarka WWW
|
|
||||||
+GenericName[pt]=Navegador Web
|
|
||||||
+GenericName[pt_BR]=Navegador Web
|
|
||||||
+GenericName[sk]=Internetový prehliadač
|
|
||||||
+GenericName[sv]=Webbläsare
|
|
||||||
+Comment=Browse the Web
|
|
||||||
+Comment[ca]=Navegueu per el web
|
|
||||||
+Comment[cs]=Prohlížení stránek World Wide Webu
|
|
||||||
+Comment[de]=Im Internet surfen
|
|
||||||
+Comment[es]=Navegue por la web
|
|
||||||
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
|
|
||||||
+Comment[fi]=Selaa Internetin WWW-sivuja
|
|
||||||
+Comment[fr]=Navigue sur Internet
|
|
||||||
+Comment[hu]=A világháló böngészése
|
|
||||||
+Comment[it]=Esplora il web
|
|
||||||
+Comment[ja]=ウェブを閲覧します
|
|
||||||
+Comment[ko]=웹을 돌아 다닙니다
|
|
||||||
+Comment[nb]=Surf på nettet
|
|
||||||
+Comment[nl]=Verken het internet
|
|
||||||
+Comment[nn]=Surf på nettet
|
|
||||||
+Comment[no]=Surf på nettet
|
|
||||||
+Comment[pl]=Przeglądanie stron WWW
|
|
||||||
+Comment[pt]=Navegue na Internet
|
|
||||||
+Comment[pt_BR]=Navegue na Internet
|
|
||||||
+Comment[sk]=Prehliadanie internetu
|
|
||||||
+Comment[sv]=Surfa på webben
|
|
||||||
+Exec=firefox %u
|
|
||||||
+Icon=firefox
|
|
||||||
+Terminal=false
|
|
||||||
+Type=Application
|
|
||||||
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
|
|
||||||
+StartupNotify=true
|
|
||||||
+Categories=Network;WebBrowser;
|
|
||||||
+Keywords=web;browser;internet;
|
|
||||||
+Actions=new-window;new-private-window;
|
|
||||||
+DBusActivatable=true
|
|
||||||
+
|
|
||||||
+X-Desktop-File-Install-Version=0.24
|
|
||||||
+
|
|
||||||
+[Desktop Action new-window]
|
|
||||||
+Name=Open a New Window
|
|
||||||
+Name[ach]=Dirica manyen
|
|
||||||
+Name[af]=Nuwe venster
|
|
||||||
+Name[an]=Nueva finestra
|
|
||||||
+Name[ar]=نافذة جديدة
|
|
||||||
+Name[as]=নতুন উইন্ডো
|
|
||||||
+Name[ast]=Ventana nueva
|
|
||||||
+Name[az]=Yeni Pəncərə
|
|
||||||
+Name[be]=Новае акно
|
|
||||||
+Name[bg]=Нов прозорец
|
|
||||||
+Name[bn_BD]=নতুন উইন্ডো (N)
|
|
||||||
+Name[bn_IN]=নতুন উইন্ডো
|
|
||||||
+Name[br]=Prenestr nevez
|
|
||||||
+Name[brx]=गोदान उइन्ड'(N)
|
|
||||||
+Name[bs]=Novi prozor
|
|
||||||
+Name[ca]=Finestra nova
|
|
||||||
+Name[cak]=K'ak'a' tzuwäch
|
|
||||||
+Name[cs]=Nové okno
|
|
||||||
+Name[cy]=Ffenestr Newydd
|
|
||||||
+Name[da]=Nyt vindue
|
|
||||||
+Name[de]=Neues Fenster
|
|
||||||
+Name[dsb]=Nowe wokno
|
|
||||||
+Name[el]=Νέο παράθυρο
|
|
||||||
+Name[en_GB]=New Window
|
|
||||||
+Name[en_US]=New Window
|
|
||||||
+Name[en_ZA]=New Window
|
|
||||||
+Name[eo]=Nova fenestro
|
|
||||||
+Name[es_AR]=Nueva ventana
|
|
||||||
+Name[es_CL]=Nueva ventana
|
|
||||||
+Name[es_ES]=Nueva ventana
|
|
||||||
+Name[es_MX]=Nueva ventana
|
|
||||||
+Name[et]=Uus aken
|
|
||||||
+Name[eu]=Leiho berria
|
|
||||||
+Name[fa]=پنجره جدید
|
|
||||||
+Name[ff]=Henorde Hesere
|
|
||||||
+Name[fi]=Uusi ikkuna
|
|
||||||
+Name[fr]=Nouvelle fenêtre
|
|
||||||
+Name[fy_NL]=Nij finster
|
|
||||||
+Name[ga_IE]=Fuinneog Nua
|
|
||||||
+Name[gd]=Uinneag ùr
|
|
||||||
+Name[gl]=Nova xanela
|
|
||||||
+Name[gn]=Ovetã pyahu
|
|
||||||
+Name[gu_IN]=નવી વિન્ડો
|
|
||||||
+Name[he]=חלון חדש
|
|
||||||
+Name[hi_IN]=नया विंडो
|
|
||||||
+Name[hr]=Novi prozor
|
|
||||||
+Name[hsb]=Nowe wokno
|
|
||||||
+Name[hu]=Új ablak
|
|
||||||
+Name[hy_AM]=Նոր Պատուհան
|
|
||||||
+Name[id]=Jendela Baru
|
|
||||||
+Name[is]=Nýr gluggi
|
|
||||||
+Name[it]=Nuova finestra
|
|
||||||
+Name[ja]=新しいウィンドウ
|
|
||||||
+Name[ja_JP-mac]=新規ウインドウ
|
|
||||||
+Name[ka]=ახალი ფანჯარა
|
|
||||||
+Name[kk]=Жаңа терезе
|
|
||||||
+Name[km]=បង្អួចថ្មី
|
|
||||||
+Name[kn]=ಹೊಸ ಕಿಟಕಿ
|
|
||||||
+Name[ko]=새 창
|
|
||||||
+Name[kok]=नवें जनेल
|
|
||||||
+Name[ks]=نئئ وِنڈو
|
|
||||||
+Name[lij]=Neuvo barcon
|
|
||||||
+Name[lo]=ຫນ້າຕ່າງໃຫມ່
|
|
||||||
+Name[lt]=Naujas langas
|
|
||||||
+Name[ltg]=Jauns lūgs
|
|
||||||
+Name[lv]=Jauns logs
|
|
||||||
+Name[mai]=नव विंडो
|
|
||||||
+Name[mk]=Нов прозорец
|
|
||||||
+Name[ml]=പുതിയ ജാലകം
|
|
||||||
+Name[mr]=नवीन पटल
|
|
||||||
+Name[ms]=Tetingkap Baru
|
|
||||||
+Name[my]=ဝင်းဒိုးအသစ်
|
|
||||||
+Name[nb_NO]=Nytt vindu
|
|
||||||
+Name[ne_NP]=नयाँ सञ्झ्याल
|
|
||||||
+Name[nl]=Nieuw venster
|
|
||||||
+Name[nn_NO]=Nytt vindauge
|
|
||||||
+Name[or]=ନୂତନ ୱିଣ୍ଡୋ
|
|
||||||
+Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
|
|
||||||
+Name[pl]=Nowe okno
|
|
||||||
+Name[pt_BR]=Nova janela
|
|
||||||
+Name[pt_PT]=Nova janela
|
|
||||||
+Name[rm]=Nova fanestra
|
|
||||||
+Name[ro]=Fereastră nouă
|
|
||||||
+Name[ru]=Новое окно
|
|
||||||
+Name[sat]=नावा विंडो (N)
|
|
||||||
+Name[si]=නව කවුළුවක්
|
|
||||||
+Name[sk]=Nové okno
|
|
||||||
+Name[sl]=Novo okno
|
|
||||||
+Name[son]=Zanfun taaga
|
|
||||||
+Name[sq]=Dritare e Re
|
|
||||||
+Name[sr]=Нови прозор
|
|
||||||
+Name[sv_SE]=Nytt fönster
|
|
||||||
+Name[ta]=புதிய சாளரம்
|
|
||||||
+Name[te]=కొత్త విండో
|
|
||||||
+Name[th]=หน้าต่างใหม่
|
|
||||||
+Name[tr]=Yeni pencere
|
|
||||||
+Name[tsz]=Eraatarakua jimpani
|
|
||||||
+Name[uk]=Нове вікно
|
|
||||||
+Name[ur]=نیا دریچہ
|
|
||||||
+Name[uz]=Yangi oyna
|
|
||||||
+Name[vi]=Cửa sổ mới
|
|
||||||
+Name[wo]=Palanteer bu bees
|
|
||||||
+Name[xh]=Ifestile entsha
|
|
||||||
+Name[zh_CN]=新建窗口
|
|
||||||
+Name[zh_TW]=開新視窗
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+Exec=firefox --new-window %u
|
|
||||||
+
|
|
||||||
+[Desktop Action new-private-window]
|
|
||||||
+Name=Open a New Private Window
|
|
||||||
+Name[ach]=Dirica manyen me mung
|
|
||||||
+Name[af]=Nuwe privaatvenster
|
|
||||||
+Name[an]=Nueva finestra privada
|
|
||||||
+Name[ar]=نافذة خاصة جديدة
|
|
||||||
+Name[as]=নতুন ব্যক্তিগত উইন্ডো
|
|
||||||
+Name[ast]=Ventana privada nueva
|
|
||||||
+Name[az]=Yeni Məxfi Pəncərə
|
|
||||||
+Name[be]=Новае акно адасаблення
|
|
||||||
+Name[bg]=Нов прозорец за поверително сърфиране
|
|
||||||
+Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
|
|
||||||
+Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
|
|
||||||
+Name[br]=Prenestr merdeiñ prevez nevez
|
|
||||||
+Name[brx]=गोदान प्राइभेट उइन्ड'
|
|
||||||
+Name[bs]=Novi privatni prozor
|
|
||||||
+Name[ca]=Finestra privada nova
|
|
||||||
+Name[cak]=K'ak'a' ichinan tzuwäch
|
|
||||||
+Name[cs]=Nové anonymní okno
|
|
||||||
+Name[cy]=Ffenestr Breifat Newydd
|
|
||||||
+Name[da]=Nyt privat vindue
|
|
||||||
+Name[de]=Neues privates Fenster
|
|
||||||
+Name[dsb]=Nowe priwatne wokno
|
|
||||||
+Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
|
|
||||||
+Name[en_GB]=New Private Window
|
|
||||||
+Name[en_US]=New Private Window
|
|
||||||
+Name[en_ZA]=New Private Window
|
|
||||||
+Name[eo]=Nova privata fenestro
|
|
||||||
+Name[es_AR]=Nueva ventana privada
|
|
||||||
+Name[es_CL]=Nueva ventana privada
|
|
||||||
+Name[es_ES]=Nueva ventana privada
|
|
||||||
+Name[es_MX]=Nueva ventana privada
|
|
||||||
+Name[et]=Uus privaatne aken
|
|
||||||
+Name[eu]=Leiho pribatu berria
|
|
||||||
+Name[fa]=پنجره ناشناس جدید
|
|
||||||
+Name[ff]=Henorde Suturo Hesere
|
|
||||||
+Name[fi]=Uusi yksityinen ikkuna
|
|
||||||
+Name[fr]=Nouvelle fenêtre de navigation privée
|
|
||||||
+Name[fy_NL]=Nij priveefinster
|
|
||||||
+Name[ga_IE]=Fuinneog Nua Phríobháideach
|
|
||||||
+Name[gd]=Uinneag phrìobhaideach ùr
|
|
||||||
+Name[gl]=Nova xanela privada
|
|
||||||
+Name[gn]=Ovetã ñemi pyahu
|
|
||||||
+Name[gu_IN]=નવી ખાનગી વિન્ડો
|
|
||||||
+Name[he]=חלון פרטי חדש
|
|
||||||
+Name[hi_IN]=नयी निजी विंडो
|
|
||||||
+Name[hr]=Novi privatni prozor
|
|
||||||
+Name[hsb]=Nowe priwatne wokno
|
|
||||||
+Name[hu]=Új privát ablak
|
|
||||||
+Name[hy_AM]=Սկսել Գաղտնի դիտարկում
|
|
||||||
+Name[id]=Jendela Mode Pribadi Baru
|
|
||||||
+Name[is]=Nýr huliðsgluggi
|
|
||||||
+Name[it]=Nuova finestra anonima
|
|
||||||
+Name[ja]=新しいプライベートウィンドウ
|
|
||||||
+Name[ja_JP-mac]=新規プライベートウインドウ
|
|
||||||
+Name[ka]=ახალი პირადი ფანჯარა
|
|
||||||
+Name[kk]=Жаңа жекелік терезе
|
|
||||||
+Name[km]=បង្អួចឯកជនថ្មី
|
|
||||||
+Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
|
|
||||||
+Name[ko]=새 사생활 보호 모드
|
|
||||||
+Name[kok]=नवो खाजगी विंडो
|
|
||||||
+Name[ks]=نْو پرایوٹ وینڈو&
|
|
||||||
+Name[lij]=Neuvo barcon privou
|
|
||||||
+Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
|
|
||||||
+Name[lt]=Naujas privataus naršymo langas
|
|
||||||
+Name[ltg]=Jauns privatais lūgs
|
|
||||||
+Name[lv]=Jauns privātais logs
|
|
||||||
+Name[mai]=नया निज विंडो (W)
|
|
||||||
+Name[mk]=Нов приватен прозорец
|
|
||||||
+Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
|
|
||||||
+Name[mr]=नवीन वैयक्तिक पटल
|
|
||||||
+Name[ms]=Tetingkap Persendirian Baharu
|
|
||||||
+Name[my]=New Private Window
|
|
||||||
+Name[nb_NO]=Nytt privat vindu
|
|
||||||
+Name[ne_NP]=नयाँ निजी सञ्झ्याल
|
|
||||||
+Name[nl]=Nieuw privévenster
|
|
||||||
+Name[nn_NO]=Nytt privat vindauge
|
|
||||||
+Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
|
|
||||||
+Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
|
|
||||||
+Name[pl]=Nowe okno prywatne
|
|
||||||
+Name[pt_BR]=Nova janela privativa
|
|
||||||
+Name[pt_PT]=Nova janela privada
|
|
||||||
+Name[rm]=Nova fanestra privata
|
|
||||||
+Name[ro]=Fereastră privată nouă
|
|
||||||
+Name[ru]=Новое приватное окно
|
|
||||||
+Name[sat]=नावा निजेराक् विंडो (W )
|
|
||||||
+Name[si]=නව පුද්ගලික කවුළුව (W)
|
|
||||||
+Name[sk]=Nové okno v režime Súkromné prehliadanie
|
|
||||||
+Name[sl]=Novo zasebno okno
|
|
||||||
+Name[son]=Sutura zanfun taaga
|
|
||||||
+Name[sq]=Dritare e Re Private
|
|
||||||
+Name[sr]=Нови приватан прозор
|
|
||||||
+Name[sv_SE]=Nytt privat fönster
|
|
||||||
+Name[ta]=புதிய தனிப்பட்ட சாளரம்
|
|
||||||
+Name[te]=కొత్త ఆంతరంగిక విండో
|
|
||||||
+Name[th]=หน้าต่างส่วนตัวใหม่
|
|
||||||
+Name[tr]=Yeni gizli pencere
|
|
||||||
+Name[tsz]=Juchiiti eraatarakua jimpani
|
|
||||||
+Name[uk]=Приватне вікно
|
|
||||||
+Name[ur]=نیا نجی دریچہ
|
|
||||||
+Name[uz]=Yangi maxfiy oyna
|
|
||||||
+Name[vi]=Cửa sổ riêng tư mới
|
|
||||||
+Name[wo]=Panlanteeru biir bu bees
|
|
||||||
+Name[xh]=Ifestile yangasese entsha
|
|
||||||
+Name[zh_CN]=新建隐私浏览窗口
|
|
||||||
+Name[zh_TW]=新增隱私視窗
|
|
||||||
+Exec=firefox --private-window %u
|
|
||||||
diff --git a/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop b/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..21c3e7aec0f4
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
|
|
||||||
@@ -0,0 +1,386 @@
|
|
||||||
+[Desktop Entry]
|
|
||||||
+Version=1.0
|
|
||||||
+Name=Firefox Web Browser
|
|
||||||
+Name[ar]=متصفح الويب فَيَرفُكْس
|
|
||||||
+Name[ast]=Restolador web Firefox
|
|
||||||
+Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার
|
|
||||||
+Name[ca]=Navegador web Firefox
|
|
||||||
+Name[cs]=Firefox Webový prohlížeč
|
|
||||||
+Name[da]=Firefox - internetbrowser
|
|
||||||
+Name[el]=Περιηγητής Firefox
|
|
||||||
+Name[es]=Navegador web Firefox
|
|
||||||
+Name[et]=Firefoxi veebibrauser
|
|
||||||
+Name[fa]=مرورگر اینترنتی Firefox
|
|
||||||
+Name[fi]=Firefox-selain
|
|
||||||
+Name[fr]=Navigateur Web Firefox
|
|
||||||
+Name[gl]=Navegador web Firefox
|
|
||||||
+Name[he]=דפדפן האינטרנט Firefox
|
|
||||||
+Name[hr]=Firefox web preglednik
|
|
||||||
+Name[hu]=Firefox webböngésző
|
|
||||||
+Name[it]=Firefox Browser Web
|
|
||||||
+Name[ja]=Firefox ウェブ・ブラウザ
|
|
||||||
+Name[ko]=Firefox 웹 브라우저
|
|
||||||
+Name[ku]=Geroka torê Firefox
|
|
||||||
+Name[lt]=Firefox interneto naršyklė
|
|
||||||
+Name[nb]=Firefox Nettleser
|
|
||||||
+Name[nl]=Firefox webbrowser
|
|
||||||
+Name[nn]=Firefox Nettlesar
|
|
||||||
+Name[no]=Firefox Nettleser
|
|
||||||
+Name[pl]=Przeglądarka WWW Firefox
|
|
||||||
+Name[pt]=Firefox Navegador Web
|
|
||||||
+Name[pt_BR]=Navegador Web Firefox
|
|
||||||
+Name[ro]=Firefox – Navigator Internet
|
|
||||||
+Name[ru]=Веб-браузер Firefox
|
|
||||||
+Name[sk]=Firefox - internetový prehliadač
|
|
||||||
+Name[sl]=Firefox spletni brskalnik
|
|
||||||
+Name[sv]=Firefox webbläsare
|
|
||||||
+Name[tr]=Firefox Web Tarayıcısı
|
|
||||||
+Name[ug]=Firefox توركۆرگۈ
|
|
||||||
+Name[uk]=Веб-браузер Firefox
|
|
||||||
+Name[vi]=Trình duyệt web Firefox
|
|
||||||
+Name[zh_CN]=Firefox 网络浏览器
|
|
||||||
+Name[zh_TW]=Firefox 網路瀏覽器
|
|
||||||
+Comment=Browse the World Wide Web
|
|
||||||
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
|
|
||||||
+Comment[ast]=Restola pela Rede
|
|
||||||
+Comment[bn]=ইন্টারনেট ব্রাউজ করুন
|
|
||||||
+Comment[ca]=Navegueu per la web
|
|
||||||
+Comment[cs]=Prohlížení stránek World Wide Webu
|
|
||||||
+Comment[da]=Surf på internettet
|
|
||||||
+Comment[de]=Im Internet surfen
|
|
||||||
+Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
|
|
||||||
+Comment[es]=Navegue por la web
|
|
||||||
+Comment[et]=Lehitse veebi
|
|
||||||
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
|
|
||||||
+Comment[fi]=Selaa Internetin WWW-sivuja
|
|
||||||
+Comment[fr]=Naviguer sur le Web
|
|
||||||
+Comment[gl]=Navegar pola rede
|
|
||||||
+Comment[he]=גלישה ברחבי האינטרנט
|
|
||||||
+Comment[hr]=Pretražite web
|
|
||||||
+Comment[hu]=A világháló böngészése
|
|
||||||
+Comment[it]=Esplora il web
|
|
||||||
+Comment[ja]=ウェブを閲覧します
|
|
||||||
+Comment[ko]=웹을 돌아 다닙니다
|
|
||||||
+Comment[ku]=Li torê bigere
|
|
||||||
+Comment[lt]=Naršykite internete
|
|
||||||
+Comment[nb]=Surf på nettet
|
|
||||||
+Comment[nl]=Verken het internet
|
|
||||||
+Comment[nn]=Surf på nettet
|
|
||||||
+Comment[no]=Surf på nettet
|
|
||||||
+Comment[pl]=Przeglądanie stron WWW
|
|
||||||
+Comment[pt]=Navegue na Internet
|
|
||||||
+Comment[pt_BR]=Navegue na Internet
|
|
||||||
+Comment[ro]=Navigați pe Internet
|
|
||||||
+Comment[ru]=Доступ в Интернет
|
|
||||||
+Comment[sk]=Prehliadanie internetu
|
|
||||||
+Comment[sl]=Brskajte po spletu
|
|
||||||
+Comment[sv]=Surfa på webben
|
|
||||||
+Comment[tr]=İnternet'te Gezinin
|
|
||||||
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
|
|
||||||
+Comment[uk]=Перегляд сторінок Інтернету
|
|
||||||
+Comment[vi]=Để duyệt các trang web
|
|
||||||
+Comment[zh_CN]=浏览互联网
|
|
||||||
+Comment[zh_TW]=瀏覽網際網路
|
|
||||||
+GenericName=Web Browser
|
|
||||||
+GenericName[ar]=متصفح ويب
|
|
||||||
+GenericName[ast]=Restolador Web
|
|
||||||
+GenericName[bn]=ওয়েব ব্রাউজার
|
|
||||||
+GenericName[ca]=Navegador web
|
|
||||||
+GenericName[cs]=Webový prohlížeč
|
|
||||||
+GenericName[da]=Webbrowser
|
|
||||||
+GenericName[el]=Περιηγητής διαδικτύου
|
|
||||||
+GenericName[es]=Navegador web
|
|
||||||
+GenericName[et]=Veebibrauser
|
|
||||||
+GenericName[fa]=مرورگر اینترنتی
|
|
||||||
+GenericName[fi]=WWW-selain
|
|
||||||
+GenericName[fr]=Navigateur Web
|
|
||||||
+GenericName[gl]=Navegador Web
|
|
||||||
+GenericName[he]=דפדפן אינטרנט
|
|
||||||
+GenericName[hr]=Web preglednik
|
|
||||||
+GenericName[hu]=Webböngésző
|
|
||||||
+GenericName[it]=Browser web
|
|
||||||
+GenericName[ja]=ウェブ・ブラウザ
|
|
||||||
+GenericName[ko]=웹 브라우저
|
|
||||||
+GenericName[ku]=Geroka torê
|
|
||||||
+GenericName[lt]=Interneto naršyklė
|
|
||||||
+GenericName[nb]=Nettleser
|
|
||||||
+GenericName[nl]=Webbrowser
|
|
||||||
+GenericName[nn]=Nettlesar
|
|
||||||
+GenericName[no]=Nettleser
|
|
||||||
+GenericName[pl]=Przeglądarka WWW
|
|
||||||
+GenericName[pt]=Navegador Web
|
|
||||||
+GenericName[pt_BR]=Navegador Web
|
|
||||||
+GenericName[ro]=Navigator Internet
|
|
||||||
+GenericName[ru]=Веб-браузер
|
|
||||||
+GenericName[sk]=Internetový prehliadač
|
|
||||||
+GenericName[sl]=Spletni brskalnik
|
|
||||||
+GenericName[sv]=Webbläsare
|
|
||||||
+GenericName[tr]=Web Tarayıcı
|
|
||||||
+GenericName[ug]=توركۆرگۈ
|
|
||||||
+GenericName[uk]=Веб-браузер
|
|
||||||
+GenericName[vi]=Trình duyệt Web
|
|
||||||
+GenericName[zh_CN]=网络浏览器
|
|
||||||
+GenericName[zh_TW]=網路瀏覽器
|
|
||||||
+Keywords=Internet;WWW;Browser;Web;Explorer
|
|
||||||
+Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
|
|
||||||
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
|
|
||||||
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
|
|
||||||
+Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
|
|
||||||
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
|
|
||||||
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
|
|
||||||
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
|
|
||||||
+Keywords[es]=Explorador;Internet;WWW
|
|
||||||
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
|
|
||||||
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
|
|
||||||
+Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
|
|
||||||
+Keywords[hr]=Internet;WWW;preglednik;Web
|
|
||||||
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
|
|
||||||
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
|
|
||||||
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
|
|
||||||
+Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
|
|
||||||
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
|
|
||||||
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
|
|
||||||
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
|
|
||||||
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
|
|
||||||
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
|
|
||||||
+Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
|
|
||||||
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
|
|
||||||
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
|
|
||||||
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
|
|
||||||
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
|
|
||||||
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
|
|
||||||
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
|
|
||||||
+Exec=firefox %u
|
|
||||||
+Icon=org.mozilla.firefox
|
|
||||||
+Terminal=false
|
|
||||||
+Type=Application
|
|
||||||
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
|
|
||||||
+StartupNotify=true
|
|
||||||
+Categories=Network;WebBrowser;
|
|
||||||
+Actions=new-window;new-private-window;profile-manager-window;
|
|
||||||
+StartupWMClass=firefox
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+[Desktop Action new-window]
|
|
||||||
+Name=Open a New Window
|
|
||||||
+Name[ach]=Dirica manyen
|
|
||||||
+Name[af]=Nuwe venster
|
|
||||||
+Name[an]=Nueva finestra
|
|
||||||
+Name[ar]=نافذة جديدة
|
|
||||||
+Name[as]=নতুন উইন্ডো
|
|
||||||
+Name[ast]=Ventana nueva
|
|
||||||
+Name[az]=Yeni Pəncərə
|
|
||||||
+Name[be]=Новае акно
|
|
||||||
+Name[bg]=Нов прозорец
|
|
||||||
+Name[bn_BD]=নতুন উইন্ডো (N)
|
|
||||||
+Name[bn_IN]=নতুন উইন্ডো
|
|
||||||
+Name[br]=Prenestr nevez
|
|
||||||
+Name[brx]=गोदान उइन्ड'(N)
|
|
||||||
+Name[bs]=Novi prozor
|
|
||||||
+Name[ca]=Finestra nova
|
|
||||||
+Name[cak]=K'ak'a' tzuwäch
|
|
||||||
+Name[cs]=Nové okno
|
|
||||||
+Name[cy]=Ffenestr Newydd
|
|
||||||
+Name[da]=Nyt vindue
|
|
||||||
+Name[de]=Neues Fenster
|
|
||||||
+Name[dsb]=Nowe wokno
|
|
||||||
+Name[el]=Νέο παράθυρο
|
|
||||||
+Name[en_GB]=New Window
|
|
||||||
+Name[en_US]=New Window
|
|
||||||
+Name[en_ZA]=New Window
|
|
||||||
+Name[eo]=Nova fenestro
|
|
||||||
+Name[es_AR]=Nueva ventana
|
|
||||||
+Name[es_CL]=Nueva ventana
|
|
||||||
+Name[es_ES]=Nueva ventana
|
|
||||||
+Name[es_MX]=Nueva ventana
|
|
||||||
+Name[et]=Uus aken
|
|
||||||
+Name[eu]=Leiho berria
|
|
||||||
+Name[fa]=پنجره جدید
|
|
||||||
+Name[ff]=Henorde Hesere
|
|
||||||
+Name[fi]=Uusi ikkuna
|
|
||||||
+Name[fr]=Nouvelle fenêtre
|
|
||||||
+Name[fy_NL]=Nij finster
|
|
||||||
+Name[ga_IE]=Fuinneog Nua
|
|
||||||
+Name[gd]=Uinneag ùr
|
|
||||||
+Name[gl]=Nova xanela
|
|
||||||
+Name[gn]=Ovetã pyahu
|
|
||||||
+Name[gu_IN]=નવી વિન્ડો
|
|
||||||
+Name[he]=חלון חדש
|
|
||||||
+Name[hi_IN]=नया विंडो
|
|
||||||
+Name[hr]=Novi prozor
|
|
||||||
+Name[hsb]=Nowe wokno
|
|
||||||
+Name[hu]=Új ablak
|
|
||||||
+Name[hy_AM]=Նոր Պատուհան
|
|
||||||
+Name[id]=Jendela Baru
|
|
||||||
+Name[is]=Nýr gluggi
|
|
||||||
+Name[it]=Nuova finestra
|
|
||||||
+Name[ja]=新しいウィンドウ
|
|
||||||
+Name[ja_JP]=新規ウインドウ
|
|
||||||
+Name[ka]=ახალი ფანჯარა
|
|
||||||
+Name[kk]=Жаңа терезе
|
|
||||||
+Name[km]=បង្អួចថ្មី
|
|
||||||
+Name[kn]=ಹೊಸ ಕಿಟಕಿ
|
|
||||||
+Name[ko]=새 창
|
|
||||||
+Name[kok]=नवें जनेल
|
|
||||||
+Name[ks]=نئئ وِنڈو
|
|
||||||
+Name[lij]=Neuvo barcon
|
|
||||||
+Name[lo]=ຫນ້າຕ່າງໃຫມ່
|
|
||||||
+Name[lt]=Naujas langas
|
|
||||||
+Name[ltg]=Jauns lūgs
|
|
||||||
+Name[lv]=Jauns logs
|
|
||||||
+Name[mai]=नव विंडो
|
|
||||||
+Name[mk]=Нов прозорец
|
|
||||||
+Name[ml]=പുതിയ ജാലകം
|
|
||||||
+Name[mr]=नवीन पटल
|
|
||||||
+Name[ms]=Tetingkap Baru
|
|
||||||
+Name[my]=ဝင်းဒိုးအသစ်
|
|
||||||
+Name[nb_NO]=Nytt vindu
|
|
||||||
+Name[ne_NP]=नयाँ सञ्झ्याल
|
|
||||||
+Name[nl]=Nieuw venster
|
|
||||||
+Name[nn_NO]=Nytt vindauge
|
|
||||||
+Name[or]=ନୂତନ ୱିଣ୍ଡୋ
|
|
||||||
+Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
|
|
||||||
+Name[pl]=Nowe okno
|
|
||||||
+Name[pt_BR]=Nova janela
|
|
||||||
+Name[pt_PT]=Nova janela
|
|
||||||
+Name[rm]=Nova fanestra
|
|
||||||
+Name[ro]=Fereastră nouă
|
|
||||||
+Name[ru]=Новое окно
|
|
||||||
+Name[sat]=नावा विंडो (N)
|
|
||||||
+Name[si]=නව කවුළුවක්
|
|
||||||
+Name[sk]=Nové okno
|
|
||||||
+Name[sl]=Novo okno
|
|
||||||
+Name[son]=Zanfun taaga
|
|
||||||
+Name[sq]=Dritare e Re
|
|
||||||
+Name[sr]=Нови прозор
|
|
||||||
+Name[sv_SE]=Nytt fönster
|
|
||||||
+Name[ta]=புதிய சாளரம்
|
|
||||||
+Name[te]=కొత్త విండో
|
|
||||||
+Name[th]=หน้าต่างใหม่
|
|
||||||
+Name[tr]=Yeni pencere
|
|
||||||
+Name[tsz]=Eraatarakua jimpani
|
|
||||||
+Name[uk]=Нове вікно
|
|
||||||
+Name[ur]=نیا دریچہ
|
|
||||||
+Name[uz]=Yangi oyna
|
|
||||||
+Name[vi]=Cửa sổ mới
|
|
||||||
+Name[wo]=Palanteer bu bees
|
|
||||||
+Name[xh]=Ifestile entsha
|
|
||||||
+Name[zh_CN]=新建窗口
|
|
||||||
+Name[zh_TW]=開新視窗
|
|
||||||
+Exec=firefox --new-window %u
|
|
||||||
+
|
|
||||||
+[Desktop Action new-private-window]
|
|
||||||
+Name=Open a New Private Window
|
|
||||||
+Name[ach]=Dirica manyen me mung
|
|
||||||
+Name[af]=Nuwe privaatvenster
|
|
||||||
+Name[an]=Nueva finestra privada
|
|
||||||
+Name[ar]=نافذة خاصة جديدة
|
|
||||||
+Name[as]=নতুন ব্যক্তিগত উইন্ডো
|
|
||||||
+Name[ast]=Ventana privada nueva
|
|
||||||
+Name[az]=Yeni Məxfi Pəncərə
|
|
||||||
+Name[be]=Новае акно адасаблення
|
|
||||||
+Name[bg]=Нов прозорец за поверително сърфиране
|
|
||||||
+Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
|
|
||||||
+Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
|
|
||||||
+Name[br]=Prenestr merdeiñ prevez nevez
|
|
||||||
+Name[brx]=गोदान प्राइभेट उइन्ड'
|
|
||||||
+Name[bs]=Novi privatni prozor
|
|
||||||
+Name[ca]=Finestra privada nova
|
|
||||||
+Name[cak]=K'ak'a' ichinan tzuwäch
|
|
||||||
+Name[cs]=Nové anonymní okno
|
|
||||||
+Name[cy]=Ffenestr Breifat Newydd
|
|
||||||
+Name[da]=Nyt privat vindue
|
|
||||||
+Name[de]=Neues privates Fenster
|
|
||||||
+Name[dsb]=Nowe priwatne wokno
|
|
||||||
+Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
|
|
||||||
+Name[en_GB]=New Private Window
|
|
||||||
+Name[en_US]=New Private Window
|
|
||||||
+Name[en_ZA]=New Private Window
|
|
||||||
+Name[eo]=Nova privata fenestro
|
|
||||||
+Name[es_AR]=Nueva ventana privada
|
|
||||||
+Name[es_CL]=Nueva ventana privada
|
|
||||||
+Name[es_ES]=Nueva ventana privada
|
|
||||||
+Name[es_MX]=Nueva ventana privada
|
|
||||||
+Name[et]=Uus privaatne aken
|
|
||||||
+Name[eu]=Leiho pribatu berria
|
|
||||||
+Name[fa]=پنجره ناشناس جدید
|
|
||||||
+Name[ff]=Henorde Suturo Hesere
|
|
||||||
+Name[fi]=Uusi yksityinen ikkuna
|
|
||||||
+Name[fr]=Nouvelle fenêtre de navigation privée
|
|
||||||
+Name[fy_NL]=Nij priveefinster
|
|
||||||
+Name[ga_IE]=Fuinneog Nua Phríobháideach
|
|
||||||
+Name[gd]=Uinneag phrìobhaideach ùr
|
|
||||||
+Name[gl]=Nova xanela privada
|
|
||||||
+Name[gn]=Ovetã ñemi pyahu
|
|
||||||
+Name[gu_IN]=નવી ખાનગી વિન્ડો
|
|
||||||
+Name[he]=חלון פרטי חדש
|
|
||||||
+Name[hi_IN]=नयी निजी विंडो
|
|
||||||
+Name[hr]=Novi privatni prozor
|
|
||||||
+Name[hsb]=Nowe priwatne wokno
|
|
||||||
+Name[hu]=Új privát ablak
|
|
||||||
+Name[hy_AM]=Սկսել Գաղտնի դիտարկում
|
|
||||||
+Name[id]=Jendela Mode Pribadi Baru
|
|
||||||
+Name[is]=Nýr huliðsgluggi
|
|
||||||
+Name[it]=Nuova finestra anonima
|
|
||||||
+Name[ja]=新しいプライベートウィンドウ
|
|
||||||
+Name[ja_JP]=新規プライベートウインドウ
|
|
||||||
+Name[ka]=ახალი პირადი ფანჯარა
|
|
||||||
+Name[kk]=Жаңа жекелік терезе
|
|
||||||
+Name[km]=បង្អួចឯកជនថ្មី
|
|
||||||
+Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
|
|
||||||
+Name[ko]=새 사생활 보호 모드
|
|
||||||
+Name[kok]=नवो खाजगी विंडो
|
|
||||||
+Name[ks]=نْو پرایوٹ وینڈو&
|
|
||||||
+Name[lij]=Neuvo barcon privou
|
|
||||||
+Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
|
|
||||||
+Name[lt]=Naujas privataus naršymo langas
|
|
||||||
+Name[ltg]=Jauns privatais lūgs
|
|
||||||
+Name[lv]=Jauns privātais logs
|
|
||||||
+Name[mai]=नया निज विंडो (W)
|
|
||||||
+Name[mk]=Нов приватен прозорец
|
|
||||||
+Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
|
|
||||||
+Name[mr]=नवीन वैयक्तिक पटल
|
|
||||||
+Name[ms]=Tetingkap Persendirian Baharu
|
|
||||||
+Name[my]=New Private Window
|
|
||||||
+Name[nb_NO]=Nytt privat vindu
|
|
||||||
+Name[ne_NP]=नयाँ निजी सञ्झ्याल
|
|
||||||
+Name[nl]=Nieuw privévenster
|
|
||||||
+Name[nn_NO]=Nytt privat vindauge
|
|
||||||
+Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
|
|
||||||
+Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
|
|
||||||
+Name[pl]=Nowe okno prywatne
|
|
||||||
+Name[pt_BR]=Nova janela privativa
|
|
||||||
+Name[pt_PT]=Nova janela privada
|
|
||||||
+Name[rm]=Nova fanestra privata
|
|
||||||
+Name[ro]=Fereastră privată nouă
|
|
||||||
+Name[ru]=Новое приватное окно
|
|
||||||
+Name[sat]=नावा निजेराक् विंडो (W )
|
|
||||||
+Name[si]=නව පුද්ගලික කවුළුව (W)
|
|
||||||
+Name[sk]=Nové okno v režime Súkromné prehliadanie
|
|
||||||
+Name[sl]=Novo zasebno okno
|
|
||||||
+Name[son]=Sutura zanfun taaga
|
|
||||||
+Name[sq]=Dritare e Re Private
|
|
||||||
+Name[sr]=Нови приватан прозор
|
|
||||||
+Name[sv_SE]=Nytt privat fönster
|
|
||||||
+Name[ta]=புதிய தனிப்பட்ட சாளரம்
|
|
||||||
+Name[te]=కొత్త ఆంతరంగిక విండో
|
|
||||||
+Name[th]=หน้าต่างส่วนตัวใหม่
|
|
||||||
+Name[tr]=Yeni gizli pencere
|
|
||||||
+Name[tsz]=Juchiiti eraatarakua jimpani
|
|
||||||
+Name[uk]=Приватне вікно
|
|
||||||
+Name[ur]=نیا نجی دریچہ
|
|
||||||
+Name[uz]=Yangi maxfiy oyna
|
|
||||||
+Name[vi]=Cửa sổ riêng tư mới
|
|
||||||
+Name[wo]=Panlanteeru biir bu bees
|
|
||||||
+Name[xh]=Ifestile yangasese entsha
|
|
||||||
+Name[zh_CN]=新建隐私浏览窗口
|
|
||||||
+Name[zh_TW]=新增隱私視窗
|
|
||||||
+Exec=firefox --private-window %u
|
|
||||||
+
|
|
||||||
+[Desktop Action profile-manager-window]
|
|
||||||
+Name=Open the Profile Manager
|
|
||||||
+Name[cs]=Správa profilů
|
|
||||||
+Name[de]=Profilverwaltung öffnen
|
|
||||||
+Name[es]=Abrir el Gestor de Perfiles
|
|
||||||
+Name[fr]=Ouvrir le gestionnaire de profils
|
|
||||||
+Exec=firefox --ProfileManager
|
|
||||||
diff --git a/taskcluster/docker/firefox-snap/firefox.desktop b/taskcluster/docker/firefox-snap/firefox.desktop
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..73e36e8d83de
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/taskcluster/docker/firefox-snap/firefox.desktop
|
|
||||||
@@ -0,0 +1,219 @@
|
|
||||||
+[Desktop Entry]
|
|
||||||
+Version=1.0
|
|
||||||
+Name=Firefox Web Browser
|
|
||||||
+Name[ar]=متصفح الويب فَيَرفُكْس
|
|
||||||
+Name[ast]=Restolador web Firefox
|
|
||||||
+Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার
|
|
||||||
+Name[ca]=Navegador web Firefox
|
|
||||||
+Name[cs]=Firefox Webový prohlížeč
|
|
||||||
+Name[da]=Firefox - internetbrowser
|
|
||||||
+Name[el]=Περιηγητής Firefox
|
|
||||||
+Name[es]=Navegador web Firefox
|
|
||||||
+Name[et]=Firefoxi veebibrauser
|
|
||||||
+Name[fa]=مرورگر اینترنتی Firefox
|
|
||||||
+Name[fi]=Firefox-selain
|
|
||||||
+Name[fr]=Navigateur Web Firefox
|
|
||||||
+Name[gl]=Navegador web Firefox
|
|
||||||
+Name[he]=דפדפן האינטרנט Firefox
|
|
||||||
+Name[hr]=Firefox web preglednik
|
|
||||||
+Name[hu]=Firefox webböngésző
|
|
||||||
+Name[it]=Firefox Browser Web
|
|
||||||
+Name[ja]=Firefox ウェブ・ブラウザ
|
|
||||||
+Name[ko]=Firefox 웹 브라우저
|
|
||||||
+Name[ku]=Geroka torê Firefox
|
|
||||||
+Name[lt]=Firefox interneto naršyklė
|
|
||||||
+Name[nb]=Firefox Nettleser
|
|
||||||
+Name[nl]=Firefox webbrowser
|
|
||||||
+Name[nn]=Firefox Nettlesar
|
|
||||||
+Name[no]=Firefox Nettleser
|
|
||||||
+Name[pl]=Przeglądarka WWW Firefox
|
|
||||||
+Name[pt]=Firefox Navegador Web
|
|
||||||
+Name[pt_BR]=Navegador Web Firefox
|
|
||||||
+Name[ro]=Firefox – Navigator Internet
|
|
||||||
+Name[ru]=Веб-браузер Firefox
|
|
||||||
+Name[sk]=Firefox - internetový prehliadač
|
|
||||||
+Name[sl]=Firefox spletni brskalnik
|
|
||||||
+Name[sv]=Firefox webbläsare
|
|
||||||
+Name[tr]=Firefox Web Tarayıcısı
|
|
||||||
+Name[ug]=Firefox توركۆرگۈ
|
|
||||||
+Name[uk]=Веб-браузер Firefox
|
|
||||||
+Name[vi]=Trình duyệt web Firefox
|
|
||||||
+Name[zh_CN]=Firefox 网络浏览器
|
|
||||||
+Name[zh_TW]=Firefox 網路瀏覽器
|
|
||||||
+Comment=Browse the World Wide Web
|
|
||||||
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
|
|
||||||
+Comment[ast]=Restola pela Rede
|
|
||||||
+Comment[bn]=ইন্টারনেট ব্রাউজ করুন
|
|
||||||
+Comment[ca]=Navegueu per la web
|
|
||||||
+Comment[cs]=Prohlížení stránek World Wide Webu
|
|
||||||
+Comment[da]=Surf på internettet
|
|
||||||
+Comment[de]=Im Internet surfen
|
|
||||||
+Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
|
|
||||||
+Comment[es]=Navegue por la web
|
|
||||||
+Comment[et]=Lehitse veebi
|
|
||||||
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
|
|
||||||
+Comment[fi]=Selaa Internetin WWW-sivuja
|
|
||||||
+Comment[fr]=Naviguer sur le Web
|
|
||||||
+Comment[gl]=Navegar pola rede
|
|
||||||
+Comment[he]=גלישה ברחבי האינטרנט
|
|
||||||
+Comment[hr]=Pretražite web
|
|
||||||
+Comment[hu]=A világháló böngészése
|
|
||||||
+Comment[it]=Esplora il web
|
|
||||||
+Comment[ja]=ウェブを閲覧します
|
|
||||||
+Comment[ko]=웹을 돌아 다닙니다
|
|
||||||
+Comment[ku]=Li torê bigere
|
|
||||||
+Comment[lt]=Naršykite internete
|
|
||||||
+Comment[nb]=Surf på nettet
|
|
||||||
+Comment[nl]=Verken het internet
|
|
||||||
+Comment[nn]=Surf på nettet
|
|
||||||
+Comment[no]=Surf på nettet
|
|
||||||
+Comment[pl]=Przeglądanie stron WWW
|
|
||||||
+Comment[pt]=Navegue na Internet
|
|
||||||
+Comment[pt_BR]=Navegue na Internet
|
|
||||||
+Comment[ro]=Navigați pe Internet
|
|
||||||
+Comment[ru]=Доступ в Интернет
|
|
||||||
+Comment[sk]=Prehliadanie internetu
|
|
||||||
+Comment[sl]=Brskajte po spletu
|
|
||||||
+Comment[sv]=Surfa på webben
|
|
||||||
+Comment[tr]=İnternet'te Gezinin
|
|
||||||
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
|
|
||||||
+Comment[uk]=Перегляд сторінок Інтернету
|
|
||||||
+Comment[vi]=Để duyệt các trang web
|
|
||||||
+Comment[zh_CN]=浏览互联网
|
|
||||||
+Comment[zh_TW]=瀏覽網際網路
|
|
||||||
+GenericName=Web Browser
|
|
||||||
+GenericName[ar]=متصفح ويب
|
|
||||||
+GenericName[ast]=Restolador Web
|
|
||||||
+GenericName[bn]=ওয়েব ব্রাউজার
|
|
||||||
+GenericName[ca]=Navegador web
|
|
||||||
+GenericName[cs]=Webový prohlížeč
|
|
||||||
+GenericName[da]=Webbrowser
|
|
||||||
+GenericName[el]=Περιηγητής διαδικτύου
|
|
||||||
+GenericName[es]=Navegador web
|
|
||||||
+GenericName[et]=Veebibrauser
|
|
||||||
+GenericName[fa]=مرورگر اینترنتی
|
|
||||||
+GenericName[fi]=WWW-selain
|
|
||||||
+GenericName[fr]=Navigateur Web
|
|
||||||
+GenericName[gl]=Navegador Web
|
|
||||||
+GenericName[he]=דפדפן אינטרנט
|
|
||||||
+GenericName[hr]=Web preglednik
|
|
||||||
+GenericName[hu]=Webböngésző
|
|
||||||
+GenericName[it]=Browser web
|
|
||||||
+GenericName[ja]=ウェブ・ブラウザ
|
|
||||||
+GenericName[ko]=웹 브라우저
|
|
||||||
+GenericName[ku]=Geroka torê
|
|
||||||
+GenericName[lt]=Interneto naršyklė
|
|
||||||
+GenericName[nb]=Nettleser
|
|
||||||
+GenericName[nl]=Webbrowser
|
|
||||||
+GenericName[nn]=Nettlesar
|
|
||||||
+GenericName[no]=Nettleser
|
|
||||||
+GenericName[pl]=Przeglądarka WWW
|
|
||||||
+GenericName[pt]=Navegador Web
|
|
||||||
+GenericName[pt_BR]=Navegador Web
|
|
||||||
+GenericName[ro]=Navigator Internet
|
|
||||||
+GenericName[ru]=Веб-браузер
|
|
||||||
+GenericName[sk]=Internetový prehliadač
|
|
||||||
+GenericName[sl]=Spletni brskalnik
|
|
||||||
+GenericName[sv]=Webbläsare
|
|
||||||
+GenericName[tr]=Web Tarayıcı
|
|
||||||
+GenericName[ug]=توركۆرگۈ
|
|
||||||
+GenericName[uk]=Веб-браузер
|
|
||||||
+GenericName[vi]=Trình duyệt Web
|
|
||||||
+GenericName[zh_CN]=网络浏览器
|
|
||||||
+GenericName[zh_TW]=網路瀏覽器
|
|
||||||
+Keywords=Internet;WWW;Browser;Web;Explorer
|
|
||||||
+Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
|
|
||||||
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
|
|
||||||
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
|
|
||||||
+Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
|
|
||||||
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
|
|
||||||
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
|
|
||||||
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
|
|
||||||
+Keywords[es]=Explorador;Internet;WWW
|
|
||||||
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
|
|
||||||
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
|
|
||||||
+Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
|
|
||||||
+Keywords[hr]=Internet;WWW;preglednik;Web
|
|
||||||
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
|
|
||||||
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
|
|
||||||
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
|
|
||||||
+Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
|
|
||||||
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
|
|
||||||
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
|
|
||||||
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
|
|
||||||
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
|
|
||||||
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
|
|
||||||
+Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
|
|
||||||
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
|
|
||||||
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
|
|
||||||
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
|
|
||||||
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
|
|
||||||
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
|
|
||||||
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
|
|
||||||
+Exec=firefox %u
|
|
||||||
+Terminal=false
|
|
||||||
+X-MultipleArgs=false
|
|
||||||
+Type=Application
|
|
||||||
+Icon=/browser/chrome/icons/default/default128.png
|
|
||||||
+Categories=GNOME;GTK;Network;WebBrowser;
|
|
||||||
+MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
|
|
||||||
+StartupNotify=true
|
|
||||||
+Actions=NewWindow;NewPrivateWindow;
|
|
||||||
+
|
|
||||||
+[Desktop Action NewWindow]
|
|
||||||
+Name=Open a New Window
|
|
||||||
+Name[ar]=افتح نافذة جديدة
|
|
||||||
+Name[ast]=Abrir una ventana nueva
|
|
||||||
+Name[bn]=Abrir una ventana nueva
|
|
||||||
+Name[ca]=Obre una finestra nova
|
|
||||||
+Name[cs]=Otevřít nové okno
|
|
||||||
+Name[da]=Åbn et nyt vindue
|
|
||||||
+Name[de]=Ein neues Fenster öffnen
|
|
||||||
+Name[el]=Άνοιγμα νέου παραθύρου
|
|
||||||
+Name[es]=Abrir una ventana nueva
|
|
||||||
+Name[fi]=Avaa uusi ikkuna
|
|
||||||
+Name[fr]=Ouvrir une nouvelle fenêtre
|
|
||||||
+Name[gl]=Abrir unha nova xanela
|
|
||||||
+Name[he]=פתיחת חלון חדש
|
|
||||||
+Name[hr]=Otvori novi prozor
|
|
||||||
+Name[hu]=Új ablak nyitása
|
|
||||||
+Name[it]=Apri una nuova finestra
|
|
||||||
+Name[ja]=新しいウィンドウを開く
|
|
||||||
+Name[ko]=새 창 열기
|
|
||||||
+Name[ku]=Paceyeke nû veke
|
|
||||||
+Name[lt]=Atverti naują langą
|
|
||||||
+Name[nb]=Åpne et nytt vindu
|
|
||||||
+Name[nl]=Nieuw venster openen
|
|
||||||
+Name[pt]=Abrir nova janela
|
|
||||||
+Name[pt_BR]=Abrir nova janela
|
|
||||||
+Name[ro]=Deschide o fereastră nouă
|
|
||||||
+Name[ru]=Новое окно
|
|
||||||
+Name[sk]=Otvoriť nové okno
|
|
||||||
+Name[sl]=Odpri novo okno
|
|
||||||
+Name[sv]=Öppna ett nytt fönster
|
|
||||||
+Name[tr]=Yeni pencere aç
|
|
||||||
+Name[ug]=يېڭى كۆزنەك ئېچىش
|
|
||||||
+Name[uk]=Відкрити нове вікно
|
|
||||||
+Name[vi]=Mở cửa sổ mới
|
|
||||||
+Name[zh_CN]=新建窗口
|
|
||||||
+Name[zh_TW]=開啟新視窗
|
|
||||||
+Exec=firefox -new-window
|
|
||||||
+
|
|
||||||
+[Desktop Action NewPrivateWindow]
|
|
||||||
+Name=Open a New Private Window
|
|
||||||
+Name[ar]=افتح نافذة جديدة للتصفح الخاص
|
|
||||||
+Name[ca]=Obre una finestra nova en mode d'incògnit
|
|
||||||
+Name[de]=Ein neues privates Fenster öffnen
|
|
||||||
+Name[es]=Abrir una ventana privada nueva
|
|
||||||
+Name[fi]=Avaa uusi yksityinen ikkuna
|
|
||||||
+Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée
|
|
||||||
+Name[he]=פתיחת חלון גלישה פרטית חדש
|
|
||||||
+Name[hu]=Új privát ablak nyitása
|
|
||||||
+Name[it]=Apri una nuova finestra anonima
|
|
||||||
+Name[nb]=Åpne et nytt privat vindu
|
|
||||||
+Name[ru]=Новое приватное окно
|
|
||||||
+Name[sl]=Odpri novo okno zasebnega brskanja
|
|
||||||
+Name[tr]=Yeni bir pencere aç
|
|
||||||
+Name[uk]=Відкрити нове вікно у потайливому режимі
|
|
||||||
+Name[zh_TW]=開啟新隱私瀏覽視窗
|
|
||||||
+Exec=firefox -private-window
|
|
||||||
--
|
|
||||||
2.39.5 (Apple Git-154)
|
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
|
|
||||||
native manifests) with "$ICECAT_SYSTEM_DIR".
|
|
||||||
|
|
||||||
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
|
|
||||||
index e3be04e70c..a3501c4f44 100644
|
|
||||||
--- a/toolkit/xre/nsXREDirProvider.cpp
|
|
||||||
+++ b/toolkit/xre/nsXREDirProvider.cpp
|
|
||||||
@@ -280,24 +280,11 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
|
|
||||||
static nsresult GetSystemParentDirectory(nsIFile** aFile) {
|
|
||||||
nsresult rv;
|
|
||||||
nsCOMPtr<nsIFile> localDir;
|
|
||||||
-# if defined(XP_MACOSX)
|
|
||||||
- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
|
|
||||||
- getter_AddRefs(localDir));
|
|
||||||
- if (NS_SUCCEEDED(rv)) {
|
|
||||||
- rv = localDir->AppendNative("Mozilla"_ns);
|
|
||||||
- }
|
|
||||||
-# else
|
|
||||||
- constexpr auto dirname =
|
|
||||||
-# ifdef HAVE_USR_LIB64_DIR
|
|
||||||
- "/usr/lib64/mozilla"_ns
|
|
||||||
-# elif defined(__OpenBSD__) || defined(__FreeBSD__)
|
|
||||||
- "/usr/local/lib/mozilla"_ns
|
|
||||||
-# else
|
|
||||||
- "/usr/lib/mozilla"_ns
|
|
||||||
-# endif
|
|
||||||
- ;
|
|
||||||
- rv = NS_NewNativeLocalFile(dirname, getter_AddRefs(localDir));
|
|
||||||
-# endif
|
|
||||||
+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
|
|
||||||
+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
|
|
||||||
+
|
|
||||||
+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir),
|
|
||||||
+ getter_AddRefs(localDir));
|
|
||||||
|
|
||||||
if (NS_SUCCEEDED(rv)) {
|
|
||||||
localDir.forget(aFile);
|
|
|
@ -1,13 +1,11 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2024 Karl Hallsby <karl@hallsby.com
|
|
||||||
|
|
||||||
(define-module (nongnu packages productivity)
|
(define-module (nongnu packages productivity)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages freedesktop)
|
#:use-module (gnu packages freedesktop)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages glib)
|
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
|
@ -21,23 +19,22 @@
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (nonguix build-system chromium-binary)
|
#:use-module (nonguix build-system chromium-binary)
|
||||||
#:use-module ((nonguix licenses) #:prefix license:)
|
#:use-module ((nonguix licenses) #:prefix license:))
|
||||||
#:use-module ((guix licenses) #:prefix free-license:))
|
|
||||||
|
|
||||||
(define-public anytype
|
(define-public anytype
|
||||||
(package
|
(package
|
||||||
(name "anytype")
|
(name "anytype")
|
||||||
(version "0.44.0")
|
(version "0.38")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri
|
(uri
|
||||||
(string-append "https://anytype-release.fra1.cdn.digitaloceanspaces.com/"
|
(string-append "https://download.anytype.io?action=download"
|
||||||
name "_" version "_amd64.deb"))
|
"&key=desktop&id=148487107"))
|
||||||
(file-name (string-append "anytype-" version ".deb"))
|
(file-name (string-append "anytype-" version ".deb"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0djyvz6y4pk277xa2mc4w6w029i3f7zd2d1pniyrpayhnna6f670"))))
|
"1xc57ppk3l16mq2a53scf79m8hx43x21kac96ws66awlkz14swc7"))))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -55,23 +52,12 @@
|
||||||
"libGLESv2.so"
|
"libGLESv2.so"
|
||||||
"libvk_swiftshader.so"
|
"libvk_swiftshader.so"
|
||||||
"libvulkan.so.1"
|
"libvulkan.so.1"
|
||||||
"resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node"
|
"resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node"))
|
||||||
"resources/app.asar.unpacked/node_modules/keytar/build/Release/obj.target/keytar.node"))
|
|
||||||
#:install-plan
|
#:install-plan
|
||||||
#~'(("opt/" "/share")
|
#~'(("opt/" "/share")
|
||||||
("usr/share/" "/share"))
|
("usr/share/" "/share"))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'binary-unpack 'disable-auto-updates
|
|
||||||
(lambda _
|
|
||||||
(delete-file "opt/Anytype/resources/app-update.yml")))
|
|
||||||
;; We don't need regedit, a node library to interact with Windows
|
|
||||||
;; hosts.
|
|
||||||
(add-after 'binary-unpack 'strip-regedit
|
|
||||||
(lambda _
|
|
||||||
(delete-file-recursively
|
|
||||||
(string-append "opt/Anytype/resources/app.asar.unpacked/"
|
|
||||||
"node_modules/regedit"))))
|
|
||||||
(add-after 'binary-unpack 'strip-python
|
(add-after 'binary-unpack 'strip-python
|
||||||
(lambda _
|
(lambda _
|
||||||
(delete-file
|
(delete-file
|
||||||
|
@ -119,118 +105,3 @@ synchronization.")
|
||||||
(home-page "https://anytype.io")
|
(home-page "https://anytype.io")
|
||||||
(license (license:nonfree
|
(license (license:nonfree
|
||||||
"https://github.com/anyproto/anytype-ts/blob/main/LICENSE.md"))))
|
"https://github.com/anyproto/anytype-ts/blob/main/LICENSE.md"))))
|
||||||
|
|
||||||
(define-public zotero
|
|
||||||
(package
|
|
||||||
(name "zotero")
|
|
||||||
(version "6.0.35")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
;; Can switch to git-fetch from Github too!
|
|
||||||
(method url-fetch)
|
|
||||||
(uri
|
|
||||||
(string-append "https://download.zotero.org/client/release/"
|
|
||||||
version "/Zotero-" version "_linux-x86_64.tar.bz2"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"17f9an43jwnqpcslbvnhg7hrzkvs2whzwg4ysdgy2gl4m6cln18w"))
|
|
||||||
(snippet
|
|
||||||
#~(begin
|
|
||||||
(use-modules (guix build utils))
|
|
||||||
;; Disable Zotero's automatic update feature.
|
|
||||||
(substitute* "defaults/preferences/prefs.js"
|
|
||||||
(("pref\\(\"app.update.enabled\", true\\)")
|
|
||||||
"pref(\"app.update.enabled\", false)")
|
|
||||||
(("pref\\(\"app.update.auto\", true\\)")
|
|
||||||
"pref(\"app.update.auto\", false)"))))))
|
|
||||||
(build-system chromium-binary-build-system)
|
|
||||||
(arguments
|
|
||||||
(list
|
|
||||||
;; ~70 MiB
|
|
||||||
#:substitutable? #f
|
|
||||||
#:validate-runpath? #t
|
|
||||||
#:wrapper-plan
|
|
||||||
#~'("zotero-bin")
|
|
||||||
#:phases
|
|
||||||
#~(modify-phases %standard-phases
|
|
||||||
(add-before 'install-wrapper 'install-entrypoint
|
|
||||||
(lambda _
|
|
||||||
(let* ((bin (string-append #$output "/bin")))
|
|
||||||
(mkdir-p bin)
|
|
||||||
(symlink (string-append #$output "/zotero")
|
|
||||||
(string-append bin "/zotero")))))
|
|
||||||
(add-after 'install 'create-desktop-file
|
|
||||||
(lambda _
|
|
||||||
(make-desktop-entry-file
|
|
||||||
(string-append #$output "/share/applications/zotero.desktop")
|
|
||||||
#:name "Zotero"
|
|
||||||
#:type "Application"
|
|
||||||
#:generic-name "Reference Management"
|
|
||||||
#:exec (string-append #$output "/bin/zotero -url %U")
|
|
||||||
#:icon "zotero"
|
|
||||||
#:keywords '("zotero")
|
|
||||||
#:categories '("Office" "Database")
|
|
||||||
#:terminal #f
|
|
||||||
#:startup-notify #t
|
|
||||||
#:startup-w-m-class "zotero"
|
|
||||||
;; MIME-type list taken from Zotero's shipped .desktop file
|
|
||||||
#:mime-type '("x-scheme-handler/zotero" "text/plain"
|
|
||||||
"application/x-research-info-systems"
|
|
||||||
"text/x-research-info-systems"
|
|
||||||
"text/ris"
|
|
||||||
"application/x-endnote-refer"
|
|
||||||
"application/x-inst-for-Scientific-info"
|
|
||||||
"application/mods+xml"
|
|
||||||
"application/rdf+xml"
|
|
||||||
"application/x-bibtex"
|
|
||||||
"text/x-bibtex"
|
|
||||||
"application/marc"
|
|
||||||
"application/vnd.citationstyles.style+xml")
|
|
||||||
#:comment
|
|
||||||
'(("en" "Collect, organize, cite, and share your research sources")
|
|
||||||
(#f "Collect, organize, cite, and share your research sources")))))
|
|
||||||
(add-after 'install 'install-icons
|
|
||||||
(lambda _
|
|
||||||
(let ((icon-sizes (list 16 32 48 256)))
|
|
||||||
(for-each
|
|
||||||
(lambda (size)
|
|
||||||
(mkdir-p (string-append #$output "/share/icons/hicolor/"
|
|
||||||
size "x" size "/apps"))
|
|
||||||
(copy-file
|
|
||||||
(string-append "chrome/icons/default/default" size ".png")
|
|
||||||
(string-append #$output "/share/icons/hicolor/"
|
|
||||||
size "x" size "/apps/zotero.png")))
|
|
||||||
(map number->string icon-sizes))))))))
|
|
||||||
;; The zotero script that we wrap (which produces .zotero-real), has
|
|
||||||
;; this open file limit step done for us. If that script ever goes
|
|
||||||
;; away, then we can just uncomment this one.
|
|
||||||
;; (add-after 'install-wrapper 'raise-open-file-limit
|
|
||||||
;; (lambda _
|
|
||||||
;; (let ((file (string-append #$output "/bin/zotero")))
|
|
||||||
;; (with-output-to-file file
|
|
||||||
;; (lambda _
|
|
||||||
;; (display
|
|
||||||
;; (string-append
|
|
||||||
;; "#!/bin/sh\n"
|
|
||||||
;; ;; Raise the open files limit because Mozilla file
|
|
||||||
;; ;; functions leave files open for a tiny bit longer than
|
|
||||||
;; ;; necessary, so an installation with many translators and
|
|
||||||
;; ;; styles can exceed the default 1024 file limit. ulimit
|
|
||||||
;; ;; is a shell built-in, so we cannot use Guix's
|
|
||||||
;; ;; program-file function.
|
|
||||||
;; "ulimit -n 4096\n"
|
|
||||||
;; #$output "/bin/zotero-bin" " -app " #$output "/application.ini" " \"$@\""))))
|
|
||||||
;; (chmod file #o755))))
|
|
||||||
(inputs (list dbus-glib libxt))
|
|
||||||
(synopsis "Collect, organize, cite, and share your research sources")
|
|
||||||
;; If we build from source, then we may be able to support more
|
|
||||||
;; architectures. But Zotero is a Firefox/Electron app that uses a lot of
|
|
||||||
;; JavaScript, which may be problematic when packaging using Guix.
|
|
||||||
(supported-systems '("x86_64-linux"))
|
|
||||||
(description "Zotero is a research reference and bibliography tool.
|
|
||||||
Zotero helps you organize your research any way you want. You can sort items
|
|
||||||
into collections and tag them with keywords. Zotero instantly creates
|
|
||||||
references and bibliographies for any text editor, and directly inside Word,
|
|
||||||
LibreOffice, and Google Docs for over 10,000 citation styles.")
|
|
||||||
(home-page "https://www.zotero.org")
|
|
||||||
(license free-license:agpl3)))
|
|
||||||
|
|
|
@ -1,54 +1,21 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2022 Jelle Licht <jlicht@fsfe.org>
|
;;; Copyright © 2022 Jelle Licht <jlicht@fsfe.org>
|
||||||
;;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
|
||||||
;;; Copyright © 2024 Murilo <murilo@disroot.org>
|
|
||||||
|
|
||||||
(define-module (nongnu packages video)
|
(define-module (nongnu packages video)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu packages video)
|
||||||
#:use-module (guix build utils)
|
#:use-module (guix build utils)
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:))
|
||||||
#:use-module (nongnu packages chromium)
|
|
||||||
#:use-module (nongnu packages nvidia))
|
|
||||||
|
|
||||||
(define-public ffmpeg-nvenc
|
|
||||||
(package/inherit ffmpeg
|
|
||||||
(name "ffmpeg-nvenc")
|
|
||||||
(inputs
|
|
||||||
(modify-inputs
|
|
||||||
(package-inputs ffmpeg)
|
|
||||||
(prepend nv-codec-headers)))
|
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
|
||||||
((#:configure-flags flags)
|
|
||||||
;; Currently only interested in NVENC.
|
|
||||||
;; Might be better to make a ffmpeg-nonfree with all nonfree codecs
|
|
||||||
;; in the future.
|
|
||||||
#~(cons* "--enable-cuvid"
|
|
||||||
"--enable-ffnvcodec"
|
|
||||||
"--enable-encoder=hevc_nvenc"
|
|
||||||
"--enable-encoder=h264_nvenc"
|
|
||||||
#$flags))))
|
|
||||||
(description
|
|
||||||
(string-append
|
|
||||||
(package-description ffmpeg)
|
|
||||||
" This build of FFmpeg includes the nonfree NVIDIA encoder for
|
|
||||||
@code{h264_nvenc} and @code{hevc_nvenc} hardware encoding on NVIDIA GPUs."))))
|
|
||||||
|
|
||||||
(define-public replace-ffmpeg-nvenc
|
|
||||||
(package-input-rewriting
|
|
||||||
`((,ffmpeg . ,ffmpeg-nvenc))))
|
|
||||||
|
|
||||||
(define-public gmmlib
|
(define-public gmmlib
|
||||||
(package
|
(package
|
||||||
(name "gmmlib")
|
(name "gmmlib")
|
||||||
(version "22.3.19")
|
(version "22.3.9")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -57,7 +24,7 @@
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0p3wp6xcvpb4jzw4fsf6554qy91iblmq9y50ph3iy29m19q6nznb"))))
|
"0m88lxlqqs5wdk4icf2ahbigr0q87j1c0damq7q0r55h72pf6zyv"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
;; Tests are run as part of the normal build step
|
;; Tests are run as part of the normal build step
|
||||||
|
@ -73,7 +40,7 @@ for VAAPI.")
|
||||||
(define-public intel-media-driver
|
(define-public intel-media-driver
|
||||||
(package
|
(package
|
||||||
(name "intel-media-driver")
|
(name "intel-media-driver")
|
||||||
(version "24.1.5")
|
(version "23.3.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -82,7 +49,7 @@ for VAAPI.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1jm4imld48scj0j499wq5zbdjv4gg7hg2sawljqnjvy09dmp09bs"))))
|
"1zh6zgfyp14zlnd6jvhqz9q5rlyk7cb3nam791slh0h7r5f0iimm"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(inputs (list libva gmmlib))
|
(inputs (list libva gmmlib))
|
||||||
(native-inputs (list pkg-config))
|
(native-inputs (list pkg-config))
|
||||||
|
@ -125,110 +92,3 @@ graphics hardware.")
|
||||||
(package-description intel-media-driver)
|
(package-description intel-media-driver)
|
||||||
" This build of intel-media-driver includes nonfree blobs to fully enable the
|
" This build of intel-media-driver includes nonfree blobs to fully enable the
|
||||||
video decode capabilities of supported Intel GPUs."))))
|
video decode capabilities of supported Intel GPUs."))))
|
||||||
|
|
||||||
(define-public nv-codec-headers
|
|
||||||
(package
|
|
||||||
(name "nv-codec-headers")
|
|
||||||
(version "12.1.14.0")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git")
|
|
||||||
(commit (string-append "n" version))))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32 "0sp4giwbhai9blgd2k7sb571xwmz2yx17w32vy0nyj86ccb2x5jq"))))
|
|
||||||
(arguments
|
|
||||||
(list
|
|
||||||
#:tests? #f ; No tests.
|
|
||||||
#:make-flags #~(list (string-append "PREFIX=" #$output))
|
|
||||||
#:phases #~(modify-phases %standard-phases
|
|
||||||
(delete 'configure)
|
|
||||||
(add-after 'unpack 'fix-paths
|
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
|
||||||
(substitute* "include/ffnvcodec/dynlink_loader.h"
|
|
||||||
(("lib.*\\.so\\.." lib)
|
|
||||||
(search-input-file
|
|
||||||
inputs (string-append "lib/" lib)))))))))
|
|
||||||
(build-system gnu-build-system)
|
|
||||||
(inputs (list nvidia-driver))
|
|
||||||
(home-page "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git")
|
|
||||||
(synopsis
|
|
||||||
"FFmpeg version of headers required to interface with NVIDIA's codec APIs")
|
|
||||||
(description
|
|
||||||
"This package provides the necessary headers for interfacing with NVIDIA's
|
|
||||||
codec APIs.")
|
|
||||||
(license license:expat)))
|
|
||||||
|
|
||||||
(define-public obs-with-cef
|
|
||||||
(package
|
|
||||||
(inherit obs)
|
|
||||||
(name "obs-with-cef")
|
|
||||||
(inputs
|
|
||||||
(append (package-inputs obs)
|
|
||||||
`(("chromium-embedded-framework" ,chromium-embedded-framework))))
|
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments (package-arguments obs)
|
|
||||||
((#:configure-flags flags)
|
|
||||||
#~(append #$flags
|
|
||||||
'("-DBUILD_BROWSER=ON"
|
|
||||||
"-DCEF_ROOT_DIR=../source/cef")))
|
|
||||||
((#:phases phases)
|
|
||||||
#~(modify-phases #$phases
|
|
||||||
(add-before 'configure 'add-cef
|
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
|
||||||
(let ((chromium-embedded-framework
|
|
||||||
#$(this-package-input "chromium-embedded-framework")))
|
|
||||||
(mkdir-p "cef/Release")
|
|
||||||
(mkdir-p "cef/Resources")
|
|
||||||
(for-each (lambda (file)
|
|
||||||
(symlink file (string-append "cef/Release/"
|
|
||||||
(basename file)))
|
|
||||||
(symlink file (string-append "cef/Resources/"
|
|
||||||
(basename file))))
|
|
||||||
(filter
|
|
||||||
(lambda (file)
|
|
||||||
(not (string= (basename (dirname file))
|
|
||||||
"locales")))
|
|
||||||
(find-files
|
|
||||||
(string-append chromium-embedded-framework
|
|
||||||
"/share/cef"))))
|
|
||||||
(symlink (string-append chromium-embedded-framework
|
|
||||||
"/lib/libcef.so")
|
|
||||||
"cef/Release/libcef.so")
|
|
||||||
(mkdir-p "cef/libcef_dll_wrapper")
|
|
||||||
(symlink (string-append chromium-embedded-framework
|
|
||||||
"/lib/libcef_dll_wrapper.a")
|
|
||||||
"cef/libcef_dll_wrapper/libcef_dll_wrapper.a")
|
|
||||||
(symlink (string-append chromium-embedded-framework
|
|
||||||
"/include")
|
|
||||||
"cef/include"))))
|
|
||||||
(add-after 'install 'symlink-obs-browser
|
|
||||||
;; Required for lib/obs-plugins/obs-browser.so file.
|
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
|
||||||
(symlink
|
|
||||||
(string-append #$output
|
|
||||||
"/lib/libobs-frontend-api.so.0")
|
|
||||||
(string-append #$output
|
|
||||||
"/lib/obs-plugins/libobs-frontend-api.so.0"))
|
|
||||||
(symlink
|
|
||||||
(string-append #$output
|
|
||||||
"/lib/libobs.so.0")
|
|
||||||
(string-append #$output
|
|
||||||
"/lib/obs-plugins/libobs.so.0"))))))))
|
|
||||||
(description
|
|
||||||
(string-append
|
|
||||||
(package-description obs)
|
|
||||||
" This build of OBS includes embeded Chromium-based browser to enable
|
|
||||||
Browser source."))))
|
|
||||||
|
|
||||||
(define-public obs-nvenc
|
|
||||||
(let ((obs-ffmpeg-nvenc (replace-ffmpeg-nvenc obs)))
|
|
||||||
(package/inherit obs-ffmpeg-nvenc
|
|
||||||
(name "obs-nvenc")
|
|
||||||
(description
|
|
||||||
(string-append
|
|
||||||
(package-description obs)
|
|
||||||
" This build of OBS includes the nonfree NVIDIA encoder for FFmpeg
|
|
||||||
@code{h264_nvenc} and @code{hevc_nvenc} hardware encoding on NVIDIA GPUs.")))))
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
(define-public zerotier
|
(define-public zerotier
|
||||||
(package
|
(package
|
||||||
(name "zerotier")
|
(name "zerotier")
|
||||||
(version "1.12.2")
|
(version "1.8.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -21,17 +21,16 @@
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0p5rpvh137gf5y9ylip7kxfl4argv34sr4wiiygvfk670rifnk57"))))
|
"101b1k9f3cpbgj0l87ya1cbqs9dv0qiayjap4m29fxyjra8hbkb8"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags (list "ZT_SSO_SUPPORTED=0") ; We don't need SSO/OIDC
|
`(#:phases
|
||||||
#:phases
|
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
;; There is no ./configure
|
;; There is no ./configure
|
||||||
(delete 'configure)
|
(delete 'configure)
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda* (#:key make-flags #:allow-other-keys)
|
(lambda _
|
||||||
(apply invoke "make" "selftest" make-flags)
|
(invoke "make" "selftest")
|
||||||
(invoke "./zerotier-selftest")))
|
(invoke "./zerotier-selftest")))
|
||||||
(replace 'install
|
(replace 'install
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#:use-module (guix build-system trivial)
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (guix build-system copy)
|
#:use-module (guix build-system copy)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix gexp)
|
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
|
@ -34,44 +33,45 @@
|
||||||
"15glm6ws0zihcks93l39mli8wf5b5vkijb0vaid9cqra6x0zppd5"))))
|
"15glm6ws0zihcks93l39mli8wf5b5vkijb0vaid9cqra6x0zppd5"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
(list cabextract
|
`(("cabextract" ,cabextract)
|
||||||
p7zip
|
("p7zip" ,p7zip)
|
||||||
perl
|
("perl" ,perl)
|
||||||
;; unrar ; TODO: Include unrar? It is referenced in the source.
|
;; ("unrar" ,unrar) ; TODO: Include unrar? It is referenced in the source.
|
||||||
unzip
|
("unzip" ,unzip)
|
||||||
wget
|
("wget" ,wget)
|
||||||
zenity))
|
("zenity" ,zenity)))
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
`(#:tests? #f
|
||||||
#:tests? #f
|
;; TODO: Checks need bashate, shellcheck (in Guix), and checkbashisms.
|
||||||
;; TODO: Checks need bashate, shellcheck (in Guix), and checkbashisms.
|
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
|
||||||
#:make-flags #~(list (string-append "DESTDIR=" #$output)
|
"PREFIX=")
|
||||||
"PREFIX=")
|
#:phases
|
||||||
#:phases
|
(modify-phases %standard-phases
|
||||||
#~(modify-phases %standard-phases
|
(delete 'configure)
|
||||||
(delete 'configure)
|
(add-after 'install 'wrap-program
|
||||||
(add-after 'install 'wrap-program
|
;; The script relies on WINETRICKS_GUI being exactly "zenity", so
|
||||||
;; The script relies on WINETRICKS_GUI being exactly "zenity", so
|
;; we can't patch the path directly. Probably same for other dependencies.
|
||||||
;; we can't patch the path directly. Probably same for other dependencies.
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(lambda _
|
(let* ((zenity-bin (string-append (assoc-ref inputs "zenity") "/bin/"))
|
||||||
(let* ((winetricks (string-append #$output "/bin/winetricks"))
|
(perl-bin (string-append (assoc-ref inputs "perl") "/bin/"))
|
||||||
(paths (map
|
(winetricks (string-append (assoc-ref outputs "out")
|
||||||
(lambda (p) (string-append p "/bin"))
|
"/bin/winetricks")))
|
||||||
(list #$(this-package-input "cabextract")
|
(wrap-program winetricks
|
||||||
#$(this-package-input "p7zip")
|
`("PATH" prefix (,@(map (lambda (in)
|
||||||
#$(this-package-input "perl")
|
(string-append (assoc-ref inputs in) "/bin/"))
|
||||||
#$(this-package-input "unzip")
|
'("cabextract"
|
||||||
#$(this-package-input "wget")
|
"p7zip"
|
||||||
#$(this-package-input "zenity")))))
|
"perl"
|
||||||
(wrap-program winetricks
|
"unzip"
|
||||||
`("PATH" prefix ,paths)))))
|
"wget"
|
||||||
(add-after 'install 'patch-perl-path
|
"zenity"))))))))
|
||||||
(lambda _
|
(add-after 'install 'patch-perl-path
|
||||||
(let* ((perl (string-append #$(this-package-input "perl")
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
"/bin/perl"))
|
(let* ((perl (string-append (assoc-ref inputs "perl") "/bin/perl"))
|
||||||
(winetricks (string-append #$output "/bin/winetricks")))
|
(winetricks (string-append (assoc-ref outputs "out")
|
||||||
(substitute* winetricks
|
"/bin/winetricks")))
|
||||||
(("#!/usr/bin/env perl") (string-append "#!" perl)))))))))
|
(substitute* winetricks
|
||||||
|
(("#!/usr/bin/env perl") (string-append "#!" perl)))))))))
|
||||||
(home-page "https://github.com/Winetricks/winetricks")
|
(home-page "https://github.com/Winetricks/winetricks")
|
||||||
(synopsis "Easy way to work around problems in Wine")
|
(synopsis "Easy way to work around problems in Wine")
|
||||||
(description "Winetricks is an easy way to work around problems in Wine.
|
(description "Winetricks is an easy way to work around problems in Wine.
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2022, 2024 Hilton Chain <hako@ultrarare.space>
|
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||||
|
|
||||||
(define-module (nongnu services nvidia)
|
(define-module (nongnu services nvidia)
|
||||||
#:use-module (guix gexp)
|
|
||||||
#:use-module (guix records)
|
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
#:use-module (gnu services base)
|
#:use-module (gnu services base)
|
||||||
#:use-module (gnu services linux)
|
#:use-module (gnu services linux)
|
||||||
#:use-module (gnu services shepherd)
|
#:use-module (gnu services shepherd)
|
||||||
|
#:use-module (guix gexp)
|
||||||
|
#:use-module (guix records)
|
||||||
#:use-module (nongnu packages nvidia)
|
#:use-module (nongnu packages nvidia)
|
||||||
#:export (nvidia-configuration
|
#:export (nvidia-configuration
|
||||||
nvidia-configuration?
|
nvidia-configuration?
|
||||||
|
@ -19,32 +19,24 @@
|
||||||
(define-record-type* <nvidia-configuration>
|
(define-record-type* <nvidia-configuration>
|
||||||
nvidia-configuration make-nvidia-configuration
|
nvidia-configuration make-nvidia-configuration
|
||||||
nvidia-configuration?
|
nvidia-configuration?
|
||||||
(driver nvidia-configuration-driver
|
(nvidia-driver nvidia-configuration-nvidia-driver
|
||||||
(default nvda)) ; file-like
|
(default (list nvidia-driver))) ; list of file-like
|
||||||
(firmware nvidia-configuration-firmware
|
(nvidia-firmware nvidia-configuration-nvidia-firmware
|
||||||
(default nvidia-firmware)) ; file-like
|
(default (list nvidia-firmware))) ; list of file-like
|
||||||
(module nvidia-configuration-module
|
(nvidia-module nvidia-configuration-nvidia-module
|
||||||
(default nvidia-module))) ; file-like
|
(default (list nvidia-module))) ; list of file-like
|
||||||
|
(modules nvidia-configuration-modules
|
||||||
|
(default (list "nvidia-uvm")))) ; list of string
|
||||||
|
|
||||||
(define (nvidia-shepherd-service config)
|
(define (nvidia-shepherd-service config)
|
||||||
(let* ((nvidia-driver (nvidia-configuration-driver config))
|
(list (shepherd-service
|
||||||
(nvidia-smi (file-append nvidia-driver "/bin/nvidia-smi")))
|
(documentation "Unload nvidia-uvm module on powering off.")
|
||||||
(list (shepherd-service
|
(provision '(nvidia))
|
||||||
(documentation "Prepare system environment for NVIDIA driver.")
|
(requirement '(user-processes))
|
||||||
(provision '(nvidia))
|
(start #~(const #t))
|
||||||
(requirement '(udev))
|
(stop #~(lambda _
|
||||||
(one-shot? #t)
|
(let ((rmmod #$(file-append kmod "/bin/rmmod")))
|
||||||
(modules '(((guix build utils) #:select (invoke/quiet))
|
(zero? (system* rmmod "nvidia-uvm"))))))))
|
||||||
((rnrs io ports) #:select (get-line))))
|
|
||||||
(start
|
|
||||||
#~(lambda _
|
|
||||||
(when (file-exists? "/proc/driver/nvidia")
|
|
||||||
(let ((modprobe (call-with-input-file
|
|
||||||
"/proc/sys/kernel/modprobe" get-line)))
|
|
||||||
(false-if-exception
|
|
||||||
(begin
|
|
||||||
(invoke/quiet modprobe "--" "nvidia_uvm")
|
|
||||||
(invoke/quiet #$nvidia-smi)))))))))))
|
|
||||||
|
|
||||||
(define nvidia-service-type
|
(define nvidia-service-type
|
||||||
(service-type
|
(service-type
|
||||||
|
@ -52,13 +44,13 @@
|
||||||
(extensions
|
(extensions
|
||||||
(list (service-extension shepherd-root-service-type
|
(list (service-extension shepherd-root-service-type
|
||||||
nvidia-shepherd-service)
|
nvidia-shepherd-service)
|
||||||
(service-extension profile-service-type
|
|
||||||
(compose list nvidia-configuration-driver))
|
|
||||||
(service-extension udev-service-type
|
(service-extension udev-service-type
|
||||||
(compose list nvidia-configuration-driver))
|
nvidia-configuration-nvidia-driver)
|
||||||
(service-extension firmware-service-type
|
(service-extension firmware-service-type
|
||||||
(compose list nvidia-configuration-firmware))
|
nvidia-configuration-nvidia-firmware)
|
||||||
(service-extension linux-loadable-module-service-type
|
(service-extension linux-loadable-module-service-type
|
||||||
(compose list nvidia-configuration-module))))
|
nvidia-configuration-nvidia-module)
|
||||||
|
(service-extension kernel-module-loader-service-type
|
||||||
|
nvidia-configuration-modules)))
|
||||||
(default-value (nvidia-configuration))
|
(default-value (nvidia-configuration))
|
||||||
(description "Prepare system environment for NVIDIA driver.")))
|
(description "Load NVIDIA modules.")))
|
||||||
|
|
|
@ -1,16 +1,13 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
|
;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
|
||||||
;;; Copyright © 2025 James Kalyan <mjkalyan@proton.me>
|
|
||||||
|
|
||||||
(define-module (nongnu services vpn)
|
(define-module (nongnu services vpn)
|
||||||
#:use-module (guix deprecation)
|
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
#:use-module (gnu services shepherd)
|
#:use-module (gnu services shepherd)
|
||||||
#:use-module (nongnu packages vpn)
|
#:use-module (nongnu packages vpn)
|
||||||
#:export (zerotier-service-type
|
#:export (zerotier-one-service))
|
||||||
zerotier-one-service))
|
|
||||||
|
|
||||||
(define %zerotier-action-join
|
(define %zerotier-action-join
|
||||||
(shepherd-action
|
(shepherd-action
|
||||||
|
@ -50,18 +47,12 @@
|
||||||
(list (string-append #$zerotier "/sbin/zerotier-one"))))
|
(list (string-append #$zerotier "/sbin/zerotier-one"))))
|
||||||
(stop #~(make-kill-destructor))))))
|
(stop #~(make-kill-destructor))))))
|
||||||
|
|
||||||
(define zerotier-service-type
|
(define zerotier-one-service-type
|
||||||
(service-type (name 'zerotier)
|
(service-type (name 'zerotier-one)
|
||||||
(description "ZeroTier One daemon.")
|
(description "ZeroTier One daemon.")
|
||||||
(extensions
|
(extensions
|
||||||
(list (service-extension shepherd-root-service-type
|
(list (service-extension shepherd-root-service-type
|
||||||
zerotier-one-shepherd-service)))
|
zerotier-one-shepherd-service)))))
|
||||||
(default-value '())))
|
|
||||||
|
|
||||||
(define-deprecated/alias
|
(define* (zerotier-one-service #:key (config (list)))
|
||||||
zerotier-one-service-type
|
|
||||||
zerotier-service-type)
|
|
||||||
|
|
||||||
(define-deprecated (zerotier-one-service #:key (config '()))
|
|
||||||
zerotier-service-type
|
|
||||||
(service zerotier-one-service-type config))
|
(service zerotier-one-service-type config))
|
||||||
|
|
|
@ -2,46 +2,20 @@
|
||||||
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
|
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
|
||||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||||
;;; Copyright © 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
;;; Copyright © 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
;;; Copyright © 2024 Hilton Chain <hako@ultrarare.space>
|
|
||||||
|
|
||||||
;; Generate a bootable image (e.g. for USB sticks, etc.) with:
|
;; Generate a bootable image (e.g. for USB sticks, etc.) with:
|
||||||
;; $ guix system image --image-type=iso9660 nongnu/system/install.scm
|
;; $ guix system disk-image nongnu/system/install.scm
|
||||||
|
|
||||||
(define-module (nongnu system install)
|
(define-module (nongnu system install)
|
||||||
#:use-module (guix channels)
|
|
||||||
#:use-module (guix gexp)
|
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
#:use-module (gnu packages package-management)
|
|
||||||
#:use-module (gnu packages version-control)
|
#:use-module (gnu packages version-control)
|
||||||
#:use-module (gnu packages vim)
|
#:use-module (gnu packages vim)
|
||||||
#:use-module (gnu packages zile)
|
#:use-module (gnu packages zile)
|
||||||
#:use-module (gnu services)
|
|
||||||
#:use-module (gnu services base)
|
|
||||||
#:use-module (gnu system)
|
#:use-module (gnu system)
|
||||||
#:use-module (gnu system install)
|
#:use-module (gnu system install)
|
||||||
#:use-module (nongnu packages linux)
|
#:use-module (nongnu packages linux)
|
||||||
#:export (installation-os-nonfree))
|
#:export (installation-os-nonfree))
|
||||||
|
|
||||||
;; https://substitutes.nonguix.org/signing-key.pub
|
|
||||||
(define %signing-key
|
|
||||||
(plain-file "nonguix.pub" "\
|
|
||||||
(public-key
|
|
||||||
(ecc
|
|
||||||
(curve Ed25519)
|
|
||||||
(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))
|
|
||||||
|
|
||||||
(define %channels
|
|
||||||
(cons* (channel
|
|
||||||
(name 'nonguix)
|
|
||||||
(url "https://gitlab.com/nonguix/nonguix")
|
|
||||||
;; Enable signature verification:
|
|
||||||
(introduction
|
|
||||||
(make-channel-introduction
|
|
||||||
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
|
|
||||||
(openpgp-fingerprint
|
|
||||||
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
|
|
||||||
%default-channels))
|
|
||||||
|
|
||||||
(define installation-os-nonfree
|
(define installation-os-nonfree
|
||||||
(operating-system
|
(operating-system
|
||||||
(inherit installation-os)
|
(inherit installation-os)
|
||||||
|
@ -53,19 +27,6 @@
|
||||||
git
|
git
|
||||||
neovim
|
neovim
|
||||||
zile)
|
zile)
|
||||||
(operating-system-packages installation-os)))
|
(operating-system-packages installation-os)))))
|
||||||
(services
|
|
||||||
(modify-services (operating-system-user-services installation-os)
|
|
||||||
(guix-service-type
|
|
||||||
config => (guix-configuration
|
|
||||||
(inherit config)
|
|
||||||
(guix (guix-for-channels %channels))
|
|
||||||
(authorized-keys
|
|
||||||
(cons* %signing-key
|
|
||||||
%default-authorized-guix-keys))
|
|
||||||
(substitute-urls
|
|
||||||
`(,@%default-substitute-urls
|
|
||||||
"https://substitutes.nonguix.org"))
|
|
||||||
(channels %channels)))))))
|
|
||||||
|
|
||||||
installation-os-nonfree
|
installation-os-nonfree
|
||||||
|
|
|
@ -41,11 +41,7 @@
|
||||||
|
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
;; Do not use `@' to avoid introducing circular dependencies.
|
||||||
(let ((module (resolve-interface '(gnu packages elf))))
|
(let ((module (resolve-interface '(gnu packages elf))))
|
||||||
;; Use the older 0.16 version due to an upstream bug which can segfault
|
(module-ref module 'patchelf)))
|
||||||
;; some binaries. See <https://github.com/NixOS/patchelf/issues/482>.
|
|
||||||
;; TODO: Set back to patchelf when the package has been updated (or
|
|
||||||
;; patched) to fix this issue.
|
|
||||||
(module-ref module 'patchelf-0.16)))
|
|
||||||
|
|
||||||
(define (default-glibc)
|
(define (default-glibc)
|
||||||
"Return the default glibc package."
|
"Return the default glibc package."
|
||||||
|
|
|
@ -54,12 +54,7 @@
|
||||||
#~(let ((patchelf-inputs
|
#~(let ((patchelf-inputs
|
||||||
(list #$@(map car inputs))))
|
(list #$@(map car inputs))))
|
||||||
(map (lambda (file)
|
(map (lambda (file)
|
||||||
;; Either an entry in WRAPPER-PLAN is just a string which can be
|
(cons file (list patchelf-inputs)))
|
||||||
;; used directly, or it is a list where the second element is a
|
|
||||||
;; list of additional inputs for patchelf-plan.
|
|
||||||
(if (list? file)
|
|
||||||
(cons (car file) (list (append patchelf-inputs (cadr file))))
|
|
||||||
(cons file (list patchelf-inputs))))
|
|
||||||
#$wrapper-plan)))
|
#$wrapper-plan)))
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
|
@ -141,7 +136,7 @@
|
||||||
(build chromium-binary-build)
|
(build chromium-binary-build)
|
||||||
(arguments (append
|
(arguments (append
|
||||||
(strip-keyword-arguments private-keywords arguments)
|
(strip-keyword-arguments private-keywords arguments)
|
||||||
(list #:wrap-inputs (alist-delete "source" host-inputs)))))))
|
(list #:wrap-inputs host-inputs))))))
|
||||||
|
|
||||||
(define* (chromium-binary-build name inputs
|
(define* (chromium-binary-build name inputs
|
||||||
#:key
|
#:key
|
||||||
|
@ -168,13 +163,7 @@
|
||||||
(substitutable? #t)
|
(substitutable? #t)
|
||||||
allowed-references
|
allowed-references
|
||||||
disallowed-references)
|
disallowed-references)
|
||||||
"Build SOURCE using binary-build-system. WRAPPER-PLAN is a list of strings for
|
"Build SOURCE using binary-build-system."
|
||||||
files which patchelf will add the INPUTS (which implicitly includes the base
|
|
||||||
packages needed for chromium-based binaries) to RPATH and wrap with needed
|
|
||||||
environment variables. Optionally, an entry can be a list with the first
|
|
||||||
entry the file to be patched and the second a list of additional inputs for
|
|
||||||
patchelf, like PATCHELF-PLAN in binary-build-system. PATCHELF-PLAN itself is
|
|
||||||
ignored if WRAPPER-PLAN is not '()."
|
|
||||||
(define builder
|
(define builder
|
||||||
(with-imported-modules imported-modules
|
(with-imported-modules imported-modules
|
||||||
#~(begin
|
#~(begin
|
||||||
|
|
|
@ -2,14 +2,12 @@
|
||||||
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
|
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
|
|
||||||
|
|
||||||
(define-module (nonguix build binary-build-system)
|
(define-module (nonguix build binary-build-system)
|
||||||
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
||||||
#:use-module (nonguix build utils)
|
#:use-module (nonguix build utils)
|
||||||
#:use-module (guix build utils)
|
#:use-module (guix build utils)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (srfi srfi-1)
|
|
||||||
#:export (%standard-phases
|
#:export (%standard-phases
|
||||||
binary-build))
|
binary-build))
|
||||||
|
|
||||||
|
@ -116,10 +114,6 @@ The inputs are optional when the file is an executable."
|
||||||
(invoke "patchelf" "--set-rpath" rpath binary)))
|
(invoke "patchelf" "--set-rpath" rpath binary)))
|
||||||
#t)
|
#t)
|
||||||
|
|
||||||
(display "Using patchelf version: ")
|
|
||||||
(force-output)
|
|
||||||
(invoke "patchelf" "--version")
|
|
||||||
|
|
||||||
(when (and patchelf-plan
|
(when (and patchelf-plan
|
||||||
(not (null? patchelf-plan)))
|
(not (null? patchelf-plan)))
|
||||||
(let ((interpreter (car (find-files (assoc-ref inputs "libc") "ld-linux.*\\.so")))
|
(let ((interpreter (car (find-files (assoc-ref inputs "libc") "ld-linux.*\\.so")))
|
||||||
|
@ -145,14 +139,11 @@ The inputs are optional when the file is an executable."
|
||||||
|
|
||||||
(define (unpack-deb deb-file)
|
(define (unpack-deb deb-file)
|
||||||
(invoke "ar" "x" deb-file)
|
(invoke "ar" "x" deb-file)
|
||||||
(let ((data-file (find file-exists?
|
(invoke "tar" "xvf" "data.tar.xz")
|
||||||
(list "data.tar.xz" "data.tar.gz"
|
(invoke "rm" "-rfv" "control.tar.gz"
|
||||||
"data.tar.bz2"))))
|
"data.tar.xz"
|
||||||
(invoke "tar" "xvf" data-file)
|
deb-file
|
||||||
(invoke "rm" "-rfv" "control.tar.gz"
|
"debian-binary"))
|
||||||
data-file
|
|
||||||
deb-file
|
|
||||||
"debian-binary")))
|
|
||||||
|
|
||||||
(define* (binary-unpack #:key source #:allow-other-keys)
|
(define* (binary-unpack #:key source #:allow-other-keys)
|
||||||
(let* ((files (filter (lambda (f)
|
(let* ((files (filter (lambda (f)
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
(define-module (nonguix build chromium-binary-build-system)
|
(define-module (nonguix build chromium-binary-build-system)
|
||||||
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
||||||
#:use-module ((nonguix build binary-build-system) #:prefix binary:)
|
#:use-module ((nonguix build binary-build-system) #:prefix binary:)
|
||||||
|
#:use-module (nonguix build utils)
|
||||||
#:use-module (guix build utils)
|
#:use-module (guix build utils)
|
||||||
#:use-module (ice-9 ftw)
|
#:use-module (ice-9 ftw)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
|
@ -23,9 +24,9 @@
|
||||||
(nss (assoc-ref inputs "nss"))
|
(nss (assoc-ref inputs "nss"))
|
||||||
(wrap-inputs (map cdr inputs))
|
(wrap-inputs (map cdr inputs))
|
||||||
(lib-directories
|
(lib-directories
|
||||||
(search-path-as-list '("lib") wrap-inputs))
|
(build-paths-from-inputs '("lib") wrap-inputs))
|
||||||
(bin-directories
|
(bin-directories
|
||||||
(search-path-as-list
|
(build-paths-from-inputs
|
||||||
'("bin" "sbin" "libexec")
|
'("bin" "sbin" "libexec")
|
||||||
wrap-inputs)))
|
wrap-inputs)))
|
||||||
(for-each
|
(for-each
|
||||||
|
@ -52,12 +53,7 @@
|
||||||
(list
|
(list
|
||||||
(string-append nss "/lib/nss")
|
(string-append nss "/lib/nss")
|
||||||
output))
|
output))
|
||||||
":")))
|
":")))))
|
||||||
;; Give a hint to Electron-based apps to detect if Wayland or X11 should
|
|
||||||
;; be used.
|
|
||||||
;; NOTE: The env-var version of this CLI arg was added in Electron >=28
|
|
||||||
`("ELECTRON_OZONE_PLATFORM_HINT" ":" =
|
|
||||||
("auto"))))
|
|
||||||
(map
|
(map
|
||||||
(lambda (exe) (string-append bin "/" exe))
|
(lambda (exe) (string-append bin "/" exe))
|
||||||
(filter
|
(filter
|
||||||
|
|
|
@ -97,3 +97,23 @@ contents:
|
||||||
(call-with-output-file result
|
(call-with-output-file result
|
||||||
(lambda (port)
|
(lambda (port)
|
||||||
(for-each (cut dump <> port) files))))
|
(for-each (cut dump <> port) files))))
|
||||||
|
|
||||||
|
(define build-paths-for-input
|
||||||
|
(lambda (dirs input)
|
||||||
|
(filter-map
|
||||||
|
(lambda (sub-directory)
|
||||||
|
(let ((directory
|
||||||
|
(string-append
|
||||||
|
input "/" sub-directory)))
|
||||||
|
(and
|
||||||
|
(directory-exists? directory)
|
||||||
|
directory)))
|
||||||
|
dirs)))
|
||||||
|
|
||||||
|
(define build-paths-from-inputs
|
||||||
|
(lambda (dirs inputs)
|
||||||
|
(reduce append '()
|
||||||
|
(map
|
||||||
|
(lambda (input)
|
||||||
|
(build-paths-for-input dirs input))
|
||||||
|
inputs))))
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
(define-module (nonguix multiarch-container)
|
(define-module (nonguix multiarch-container)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages pulseaudio)
|
||||||
#:use-module (guix build-system trivial)
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix records)
|
#:use-module (guix records)
|
||||||
|
@ -259,9 +260,8 @@ in a sandboxed FHS environment."
|
||||||
(home (getenv "HOME"))
|
(home (getenv "HOME"))
|
||||||
(sandbox-home (or (getenv "GUIX_SANDBOX_HOME")
|
(sandbox-home (or (getenv "GUIX_SANDBOX_HOME")
|
||||||
(string-append home "/" #$(ngc-sandbox-home container))))
|
(string-append home "/" #$(ngc-sandbox-home container))))
|
||||||
(wayland-display (or (getenv "WAYLAND_DISPLAY")
|
|
||||||
"wayland-0"))
|
|
||||||
(preserved-env '("^DBUS_"
|
(preserved-env '("^DBUS_"
|
||||||
|
"^DISPLAY$"
|
||||||
"^DRI_PRIME$"
|
"^DRI_PRIME$"
|
||||||
"^GDK_SCALE$" ; For UI scaling.
|
"^GDK_SCALE$" ; For UI scaling.
|
||||||
"^GUIX_LOCPATH$" ; For pressure-vessel locales.
|
"^GUIX_LOCPATH$" ; For pressure-vessel locales.
|
||||||
|
@ -276,7 +276,6 @@ in a sandboxed FHS environment."
|
||||||
;; need to be shared with the container as
|
;; need to be shared with the container as
|
||||||
;; well; this is not needed currently.
|
;; well; this is not needed currently.
|
||||||
"^LD_LIBRARY_PATH$"
|
"^LD_LIBRARY_PATH$"
|
||||||
"^LIBVA_DRIVERS_PATH$" ; For VA-API drivers.
|
|
||||||
"^MANGOHUD" ; For MangoHud configuration.
|
"^MANGOHUD" ; For MangoHud configuration.
|
||||||
"^PRESSURE_VESSEL_" ; For pressure vessel options.
|
"^PRESSURE_VESSEL_" ; For pressure vessel options.
|
||||||
"_PROXY$"
|
"_PROXY$"
|
||||||
|
@ -290,15 +289,12 @@ in a sandboxed FHS environment."
|
||||||
"^SDL_"
|
"^SDL_"
|
||||||
"^STEAM_"
|
"^STEAM_"
|
||||||
"^SSL_" ; SSL certificate environment, needed by curl for Heroic.
|
"^SSL_" ; SSL certificate environment, needed by curl for Heroic.
|
||||||
"^TZ" ; For setting time zone.
|
"^VDPAU_DRIVER_PATH$" ; For VDPAU drivers.
|
||||||
"^XAUTHORITY$"
|
"^XAUTHORITY$"
|
||||||
;; Matching all ^XDG_ vars causes issues
|
;; Matching all ^XDG_ vars causes issues
|
||||||
;; discussed in 80decf05.
|
;; discussed in 80decf05.
|
||||||
"^XDG_CURRENT_DESKTOP$"
|
|
||||||
"^XDG_DATA_HOME$"
|
"^XDG_DATA_HOME$"
|
||||||
"^XDG_RUNTIME_DIR$"
|
"^XDG_RUNTIME_DIR$"
|
||||||
"^XDG_SESSION_(CLASS|TYPE)$"
|
|
||||||
"^(WAYLAND_)?DISPLAY$"
|
|
||||||
#$@(ngc-preserved-env container) ; Environment from container.
|
#$@(ngc-preserved-env container) ; Environment from container.
|
||||||
;; The following are useful for debugging.
|
;; The following are useful for debugging.
|
||||||
"^CAPSULE_DEBUG$"
|
"^CAPSULE_DEBUG$"
|
||||||
|
@ -314,7 +310,6 @@ in a sandboxed FHS environment."
|
||||||
,@(exists-> "/dev/nvidia-modeset")
|
,@(exists-> "/dev/nvidia-modeset")
|
||||||
,@(exists-> "/etc/machine-id")
|
,@(exists-> "/etc/machine-id")
|
||||||
"/etc/localtime" ; Needed for correct time zone.
|
"/etc/localtime" ; Needed for correct time zone.
|
||||||
"/etc/os-release" ; Needed for distro info.
|
|
||||||
"/sys/class/drm" ; Needed for hw monitoring like MangoHud.
|
"/sys/class/drm" ; Needed for hw monitoring like MangoHud.
|
||||||
"/sys/class/hwmon" ; Needed for hw monitoring like MangoHud.
|
"/sys/class/hwmon" ; Needed for hw monitoring like MangoHud.
|
||||||
"/sys/class/hidraw" ; Needed for devices like the Valve Index.
|
"/sys/class/hidraw" ; Needed for devices like the Valve Index.
|
||||||
|
@ -338,15 +333,11 @@ in a sandboxed FHS environment."
|
||||||
,@(exists-> (string-append home "/.config/pulse"))
|
,@(exists-> (string-append home "/.config/pulse"))
|
||||||
,@(exists-> (string-append xdg-runtime "/pulse"))
|
,@(exists-> (string-append xdg-runtime "/pulse"))
|
||||||
,@(exists-> (string-append xdg-runtime "/bus"))
|
,@(exists-> (string-append xdg-runtime "/bus"))
|
||||||
,@(exists-> (string-append xdg-runtime "/" wayland-display))
|
|
||||||
,@(exists-> (getenv "XAUTHORITY"))
|
,@(exists-> (getenv "XAUTHORITY"))
|
||||||
#$@(ngc-shared container)))
|
#$@(ngc-shared container)))
|
||||||
(DEBUG (equal? (getenv "DEBUG") "1"))
|
(DEBUG (equal? (getenv "DEBUG") "1"))
|
||||||
;; Make sure this environment variable is not set to the
|
(extra-shares (if (getenv "GUIX_SANDBOX_EXTRA_SHARES")
|
||||||
;; emptry string or else guix shell will fail to start.
|
(string-split (getenv "GUIX_SANDBOX_EXTRA_SHARES") #\:)
|
||||||
(extra-shares-env (getenv "GUIX_SANDBOX_EXTRA_SHARES"))
|
|
||||||
(extra-shares (if (and extra-shares-env (not (string= extra-shares-env "")))
|
|
||||||
(string-split extra-shares-env #\:)
|
|
||||||
#f))
|
#f))
|
||||||
(args (cdr (command-line)))
|
(args (cdr (command-line)))
|
||||||
(command (if DEBUG '()
|
(command (if DEBUG '()
|
||||||
|
@ -356,16 +347,19 @@ in a sandboxed FHS environment."
|
||||||
;; the "usual" path, probably so they are included in the
|
;; the "usual" path, probably so they are included in the
|
||||||
;; pressure-vessel container.
|
;; pressure-vessel container.
|
||||||
(setenv "GUIX_LOCPATH" "/usr/lib/locale")
|
(setenv "GUIX_LOCPATH" "/usr/lib/locale")
|
||||||
;; By default VA-API drivers are searched for in mesa's store path,
|
;; By default VDPAU drivers are searched for in libvdpau's store
|
||||||
;; so set this path to where the drivers will actually be located in
|
;; path, so set this path to where the drivers will actually be
|
||||||
;; the container.
|
;; located in the container.
|
||||||
(setenv "LIBVA_DRIVERS_PATH" "/lib64/dri:/lib/dri")
|
(setenv "VDPAU_DRIVER_PATH" "/lib64/vdpau")
|
||||||
(format #t "\n* Launching ~a in sandbox: ~a.\n\n"
|
(format #t "\n* Launching ~a in sandbox: ~a.\n\n"
|
||||||
#$(package-name (ngc-wrap-package container)) sandbox-home)
|
#$(package-name (ngc-wrap-package container)) sandbox-home)
|
||||||
(when DEBUG
|
(when DEBUG
|
||||||
(format #t "* DEBUG set to 1: Starting shell. Launch application manually with: ~a.\n\n"
|
(format #t "* DEBUG set to 1: Starting shell. Launch application manually with: ~a.\n\n"
|
||||||
#$(ngc-internal-name container)))
|
#$(ngc-internal-name container)))
|
||||||
(mkdir-p sandbox-home)
|
(mkdir-p sandbox-home)
|
||||||
|
(invoke #$(file-append pulseaudio "/bin/pulseaudio")
|
||||||
|
"--start"
|
||||||
|
"--exit-idle-time=60")
|
||||||
(apply invoke
|
(apply invoke
|
||||||
`("guix" "shell"
|
`("guix" "shell"
|
||||||
"--container" "--no-cwd" "--network"
|
"--container" "--no-cwd" "--network"
|
||||||
|
@ -461,9 +455,7 @@ application."
|
||||||
`((guix build utils))
|
`((guix build utils))
|
||||||
#~(begin
|
#~(begin
|
||||||
(use-modules (guix build utils)
|
(use-modules (guix build utils)
|
||||||
(ice-9 getopt-long)
|
(ice-9 getopt-long))
|
||||||
(srfi srfi-1)
|
|
||||||
(srfi srfi-26))
|
|
||||||
(define (path->str path)
|
(define (path->str path)
|
||||||
(if (list? path)
|
(if (list? path)
|
||||||
(string-join path "/")
|
(string-join path "/")
|
||||||
|
@ -473,13 +465,9 @@ application."
|
||||||
(dest (path->str (cdr pair))))
|
(dest (path->str (cdr pair))))
|
||||||
(unless (file-exists? dest)
|
(unless (file-exists? dest)
|
||||||
(symlink target dest))))
|
(symlink target dest))))
|
||||||
(define (file-symlink file dir)
|
(define (icd-symlink file)
|
||||||
(mkdir-p dir)
|
|
||||||
(new-symlink
|
(new-symlink
|
||||||
`(,file . (,dir ,(basename file)))))
|
`(,file . ("/usr/share/vulkan/icd.d" ,(basename file)))))
|
||||||
;; Use stat to follow links from packages like MangoHud.
|
|
||||||
(define (get-files dir)
|
|
||||||
(find-files (path->str dir) #:stat stat))
|
|
||||||
(define fhs-option-spec
|
(define fhs-option-spec
|
||||||
'((asound32 (value #f))))
|
'((asound32 (value #f))))
|
||||||
(let* ((guix-env (getenv "GUIX_ENVIRONMENT"))
|
(let* ((guix-env (getenv "GUIX_ENVIRONMENT"))
|
||||||
|
@ -500,11 +488,14 @@ application."
|
||||||
"/run/current-system/profile/share"
|
"/run/current-system/profile/share"
|
||||||
"/sbin"
|
"/sbin"
|
||||||
"/usr/lib"
|
"/usr/lib"
|
||||||
"/usr/share"))
|
"/usr/share/vulkan/icd.d"))
|
||||||
(for-each
|
(for-each
|
||||||
new-symlink
|
new-symlink
|
||||||
`((,ld.so.cache . "/etc/ld.so.cache")
|
`((,ld.so.cache . "/etc/ld.so.cache")
|
||||||
(,ld.so.conf . "/etc/ld.so.conf") ;; needed?
|
(,ld.so.conf . "/etc/ld.so.conf") ;; needed?
|
||||||
|
;; For MangoHud implicit layers.
|
||||||
|
((,guix-env "share/vulkan/implicit_layer.d") .
|
||||||
|
"/usr/share/vulkan/implicit_layer.d")
|
||||||
((,guix-env "etc/ssl") . "/etc/ssl")
|
((,guix-env "etc/ssl") . "/etc/ssl")
|
||||||
((,guix-env "etc/ssl") . "/run/current-system/profile/etc/ssl")
|
((,guix-env "etc/ssl") . "/run/current-system/profile/etc/ssl")
|
||||||
((,union32 "lib") . "/lib")
|
((,union32 "lib") . "/lib")
|
||||||
|
@ -521,41 +512,17 @@ application."
|
||||||
((,union64 "share/mime") . "/usr/share/mime") ; Steam tray icon.
|
((,union64 "share/mime") . "/usr/share/mime") ; Steam tray icon.
|
||||||
((,union64 "share/glib-2.0") . "/usr/share/glib-2.0") ; Heroic interface.
|
((,union64 "share/glib-2.0") . "/usr/share/glib-2.0") ; Heroic interface.
|
||||||
((,union64 "share/drirc.d") . "/usr/share/drirc.d")
|
((,union64 "share/drirc.d") . "/usr/share/drirc.d")
|
||||||
((,union64 "share/fonts") . "/usr/share/fonts")
|
|
||||||
((,union64 "share/fonts") . "/run/current-system/profile/share/fonts")
|
((,union64 "share/fonts") . "/run/current-system/profile/share/fonts")
|
||||||
((,union64 "etc/fonts") . "/etc/fonts")))
|
((,union64 "etc/fonts") . "/etc/fonts")
|
||||||
|
((,union64 "share/vulkan/explicit_layer.d") .
|
||||||
|
"/usr/share/vulkan/explicit_layer.d")))
|
||||||
(for-each
|
(for-each
|
||||||
(cut file-symlink <> "/usr/share/egl/egl_external_platform.d")
|
icd-symlink
|
||||||
(append-map
|
;; Use stat to follow links from packages like MangoHud.
|
||||||
get-files
|
`(,@(find-files (string-append union32 "/share/vulkan/icd.d")
|
||||||
`((,union32 "share/egl/egl_external_platform.d")
|
#:directories? #t #:stat stat)
|
||||||
(,union64 "share/egl/egl_external_platform.d"))))
|
,@(find-files (string-append union64 "/share/vulkan/icd.d")
|
||||||
(for-each
|
#:directories? #t #:stat stat)))
|
||||||
(cut file-symlink <> "/usr/share/glvnd/egl_vendor.d")
|
|
||||||
(append-map
|
|
||||||
get-files
|
|
||||||
`((,union32 "share/glvnd/egl_vendor.d")
|
|
||||||
(,union64 "share/glvnd/egl_vendor.d"))))
|
|
||||||
(for-each
|
|
||||||
(cut file-symlink <> "/usr/share/vulkan/icd.d")
|
|
||||||
(append-map
|
|
||||||
get-files
|
|
||||||
`((,union32 "share/vulkan/icd.d")
|
|
||||||
(,union64 "share/vulkan/icd.d"))))
|
|
||||||
(for-each
|
|
||||||
(cut file-symlink <> "/usr/share/vulkan/explicit_layer.d")
|
|
||||||
(append-map
|
|
||||||
get-files
|
|
||||||
`((,union64 "share/vulkan/explicit_layer.d")
|
|
||||||
(,union32 "share/vulkan/explicit_layer.d"))))
|
|
||||||
(for-each
|
|
||||||
(cut file-symlink <> "/usr/share/vulkan/implicit_layer.d")
|
|
||||||
(append-map
|
|
||||||
get-files
|
|
||||||
`((,union32 "share/vulkan/implicit_layer.d")
|
|
||||||
(,union64 "share/vulkan/implicit_layer.d")
|
|
||||||
;; For MangoHud implicit layers.
|
|
||||||
(,guix-env "share/vulkan/implicit_layer.d"))))
|
|
||||||
;; TODO: This is not the right place for this.
|
;; TODO: This is not the right place for this.
|
||||||
;; Newer versions of Steam won't startup if they can't copy to here
|
;; Newer versions of Steam won't startup if they can't copy to here
|
||||||
;; (previous would output this error but continue).
|
;; (previous would output this error but continue).
|
||||||
|
@ -570,9 +537,7 @@ application."
|
||||||
;; games). Wait to set this inside the container to not cause
|
;; games). Wait to set this inside the container to not cause
|
||||||
;; issues on foreign distros, see
|
;; issues on foreign distros, see
|
||||||
;; <https://gitlab.com/nonguix/nonguix/-/issues/303>
|
;; <https://gitlab.com/nonguix/nonguix/-/issues/303>
|
||||||
(setenv "LD_LIBRARY_PATH"
|
(setenv "LD_LIBRARY_PATH" "/lib64:/lib")
|
||||||
(string-append "/lib64:/lib:/lib64/nss:/lib/nss:"
|
|
||||||
"/lib64/vdpau:/lib/vdpau"))
|
|
||||||
|
|
||||||
;; Process FHS-specific command line options.
|
;; Process FHS-specific command line options.
|
||||||
(let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec))
|
(let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec))
|
||||||
|
|
|
@ -4,14 +4,11 @@
|
||||||
|
|
||||||
(define-module (nonguix utils)
|
(define-module (nonguix utils)
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:use-module (srfi srfi-43)
|
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 textual-ports)
|
#:use-module (ice-9 textual-ports)
|
||||||
#:use-module (ice-9 popen)
|
#:use-module (ice-9 popen)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages))
|
||||||
#:use-module (gnu services)
|
|
||||||
#:export (with-transformation))
|
|
||||||
|
|
||||||
(define-public (to32 package64)
|
(define-public (to32 package64)
|
||||||
"Build package for i686-linux.
|
"Build package for i686-linux.
|
||||||
|
@ -25,45 +22,3 @@ Only x86_64-linux and i686-linux are supported.
|
||||||
(arguments `(#:system "i686-linux"
|
(arguments `(#:system "i686-linux"
|
||||||
,@(package-arguments package64)))))
|
,@(package-arguments package64)))))
|
||||||
(_ package64)))
|
(_ package64)))
|
||||||
|
|
||||||
;; For concerns and direction of improvement, see this thread:
|
|
||||||
;; https://lists.gnu.org/archive/html/guix-devel/2024-06/msg00275.html
|
|
||||||
(define* (with-transformation proc obj #:optional (pred package?))
|
|
||||||
"Recursing into child elements, apply PROC to every element of OBJ that
|
|
||||||
matches PRED."
|
|
||||||
(match obj
|
|
||||||
((? pred)
|
|
||||||
(proc obj))
|
|
||||||
((? procedure?)
|
|
||||||
(lambda args
|
|
||||||
(apply values
|
|
||||||
(map (cut with-transformation proc <> pred)
|
|
||||||
(call-with-values
|
|
||||||
(lambda ()
|
|
||||||
(apply obj args))
|
|
||||||
list)))))
|
|
||||||
((a . b)
|
|
||||||
(cons (with-transformation proc a pred)
|
|
||||||
(with-transformation proc b pred)))
|
|
||||||
((_ ...)
|
|
||||||
(map (cut with-transformation proc <> pred)
|
|
||||||
obj))
|
|
||||||
(#(_ ...)
|
|
||||||
(vector-map (lambda (vec elt)
|
|
||||||
(with-transformation proc elt pred))
|
|
||||||
obj))
|
|
||||||
;; `<service-type>' and `<origin>' record types are expected to not be
|
|
||||||
;; modified. Altering them causes very difficult to debug run-time errors.
|
|
||||||
((or (? service-type?)
|
|
||||||
(? origin?))
|
|
||||||
obj)
|
|
||||||
((? record?)
|
|
||||||
(let* ((record-type (record-type-descriptor obj))
|
|
||||||
(record-fields (record-type-fields record-type)))
|
|
||||||
(apply (record-constructor record-type)
|
|
||||||
(map (lambda (field)
|
|
||||||
(let* ((accessor (record-accessor record-type field))
|
|
||||||
(obj (accessor obj)))
|
|
||||||
(with-transformation proc obj pred)))
|
|
||||||
record-fields))))
|
|
||||||
(_ obj)))
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user