Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
2fdfb97f4e |
|
@ -1,5 +1,4 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
|
||||
;; Per-directory local variables for GNU Emacs 23 and later.
|
||||
|
||||
((nil
|
||||
|
@ -10,17 +9,11 @@
|
|||
;; For use with 'bug-reference-prog-mode'.
|
||||
(bug-reference-url-format . "https://gitlab.com/nonguix/nonguix/issues/%s")
|
||||
(bug-reference-bug-regexp
|
||||
. "\\(#\\([0-9]+\\)\\)")
|
||||
|
||||
(geiser-insert-actual-lambda . nil)))
|
||||
. "\\(#\\([0-9]+\\)\\)")))
|
||||
(c-mode . ((c-file-style . "gnu")))
|
||||
(scheme-mode
|
||||
.
|
||||
;; Note this next setting will use the current guix as the geiser binary;
|
||||
;; one working with a local guix checkout may want something different.
|
||||
((geiser-guile-binary . ("guix" "repl"))
|
||||
|
||||
(indent-tabs-mode . nil)
|
||||
((indent-tabs-mode . nil)
|
||||
(eval . (put 'eval-when 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-prompt 'scheme-indent-function 1))
|
||||
(eval . (put 'test-assert 'scheme-indent-function 1))
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
(name "ajgrf"))
|
||||
("50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"
|
||||
(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"
|
||||
(name "ison"))
|
||||
(;; primary: "1BA4 08C5 8BF2 0EA7 3179 635A 865D C0A3 DED9 B5D0"
|
||||
|
@ -21,8 +18,7 @@
|
|||
(name "jonsger"))
|
||||
("D319 C7A9 8F2C 3A11 D9C0 0E30 F369 0CBE 3152 EF58"
|
||||
(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"))
|
||||
("1EFB 0909 1F17 D28C CBF9 B13A 53D4 57B2 D636 EE82"
|
||||
(name "roptat"))))
|
||||
|
|
100
README.org
100
README.org
|
@ -94,20 +94,19 @@ your configuration.
|
|||
** Installation image
|
||||
|
||||
For some hardware the official Guix installation image won't do
|
||||
(e.g. unsupported wifi). You can find a pre-generated installation image
|
||||
(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
|
||||
note if you use the 1.4.0 release or those created prior to April 2024). Or,
|
||||
you can generate an installation image from a local checkout of this
|
||||
repository, at a more recent commit, with the following command:
|
||||
(e.g. unsupported wifi). You can generate an installation image running the
|
||||
nonfree Linux kernel and nonfree firmware with the following command:
|
||||
|
||||
#+begin_src sh
|
||||
guix system image --image-type=iso9660 /path/to/this/channel/nongnu/system/install.scm
|
||||
#+end_src
|
||||
|
||||
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
|
||||
be created with the following command:
|
||||
with any changes made stored in memory. As indicated below, you will need to
|
||||
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
|
||||
guix system image --image-size=7.2GiB /path/to/this/channel/nongnu/system/install.scm
|
||||
|
@ -124,14 +123,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
|
||||
#+END_SRC
|
||||
|
||||
*** Important note for 1.4.0
|
||||
The installation media for 1.4.0 or those produced manually before commit
|
||||
[[https://gitlab.com/nonguix/nonguix/-/commit/80b273e86a19ceaee6d9b6650ed56e853409a799#note_2075084624][80b273e8]] (April 2024) do not automatically configure your channels
|
||||
specification. You need to add Nonguix "manually" into ~/etc/guix/channels.scm~
|
||||
and then run ~guix pull~ to make Guix aware of Nonguix scheme libraries. This
|
||||
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.
|
||||
The installation media produced by the above method does not automatically
|
||||
configure your channels specification. You need to add Nonguix "manually"
|
||||
into ~/etc/guix/channels.scm~ and then run ~guix pull~ to make Guix aware of
|
||||
Nonguix scheme libraries. Below is Guile scheme code to include Nonguix in the
|
||||
channel specification.
|
||||
|
||||
#+BEGIN_SRC scheme
|
||||
(use-modules (ice-9 pretty-print))
|
||||
|
@ -221,75 +217,6 @@ firmware, and blacklisting of conflicting modules:
|
|||
...))
|
||||
...)
|
||||
#+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
|
||||
|
||||
A Nonguix substitute server is available at [[https://substitutes.nonguix.org]].
|
||||
|
@ -329,9 +256,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'
|
||||
#+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]]
|
||||
in the Guix manual for more details.
|
||||
|
||||
|
|
|
@ -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.
|
38
news.txt
38
news.txt
|
@ -9,44 +9,6 @@
|
|||
(channel-news
|
||||
(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")
|
||||
(title
|
||||
(en "New @code{GUIX_SANDBOX_EXTRA_SHARES} variable for nonguix containers (Steam)"))
|
||||
(body
|
||||
(en "The nonguix container has a new environment variable
|
||||
@code{GUIX_SANDBOX_EXTRA_SHARES} which is a @code{:} delimited list of
|
||||
directories to share with the container. These directories will be available
|
||||
at the same path as the host. For instance, you can set this to another drive
|
||||
you want to have a Steam library in by either setting this variable in your
|
||||
environment or launching Steam with:
|
||||
|
||||
@example
|
||||
GUIX_SANDBOX_EXTRA_SHARES=/some/other/drive steam
|
||||
@end example
|
||||
|
||||
This should allow you to select @code{/some/other/drive} in Steam for a game
|
||||
library. This is an experimental feature and just provides a basic way to add
|
||||
shares to the container, so please test and report any difficulties or
|
||||
suggestions to improve.")))
|
||||
|
||||
(entry (commit "1591c3d1d10b2884da29ab7d1252304f2ce1514b")
|
||||
(title
|
||||
(en "(nongnu packages steam-client) module renamed"))
|
||||
(body
|
||||
(en "The (nongnu packages steam-client) module has been renamed to (nongnu packages
|
||||
game-client). This is to better reflect the contents with the addition of the
|
||||
Heroic client in a following commit.")))
|
||||
|
||||
(entry (commit "9456c59cfa580399ab450ca0057321e2d81f3319")
|
||||
(title
|
||||
(en "Linux LTS kernel updated to 6.1")
|
||||
|
|
|
@ -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
|
||||
(package
|
||||
(name "anydesk")
|
||||
(version "6.3.2-1")
|
||||
(version "6.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.anydesk.com/linux/anydesk_"
|
||||
version "_amd64.deb"))
|
||||
(uri (string-append "https://download.anydesk.com/linux/anydesk-"
|
||||
version "-amd64.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13b5ab4a889vz39d36f45mhv3mlaxb305wsh3plk3dbjcrkkkirb"))))
|
||||
"1ai58fsivb8al1279bayl800qavy0kfj40rjhf87g902ap3p4bhh"))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
`(#:validate-runpath? #f
|
||||
#:strip-binaries? #f ;; For some reason it breaks the program
|
||||
#:patchelf-plan
|
||||
`(("usr/bin/anydesk" ("atk"
|
||||
`(("anydesk" ("atk"
|
||||
"cairo"
|
||||
"fontconfig"
|
||||
"freetype"
|
||||
|
@ -66,29 +66,17 @@
|
|||
"polkit-gnome"
|
||||
"pulseaudio")))
|
||||
#:install-plan
|
||||
`(("usr/bin/anydesk" "/bin/")
|
||||
("usr/share/polkit-1/actions/com.anydesk.anydesk.policy" "/etc/polkit-1/actions/")
|
||||
("usr/share/icons" "/share/icons/"))
|
||||
`(("anydesk" "/bin/")
|
||||
("polkit-1/com.anydesk.anydesk.policy" "/etc/polkit-1/actions/")
|
||||
("icons/" "/share/icons/"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'binary-unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(let* ((files (filter (lambda (f)
|
||||
(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")))))
|
||||
(replace 'unpack
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(invoke "tar" "-xvzf" (assoc-ref inputs "source") "--strip-components" "1")))
|
||||
(add-after 'wrap-program 'install-desktop-entry
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((desktop-file "usr/share/applications/anydesk.desktop")
|
||||
(let* ((desktop-file "anydesk.desktop")
|
||||
(out (assoc-ref outputs "out"))
|
||||
(applications (string-append out "/share/applications")))
|
||||
(substitute* desktop-file
|
||||
|
|
|
@ -146,7 +146,7 @@
|
|||
openlibm
|
||||
pulseaudio
|
||||
qtbase-5
|
||||
qtserialport-5
|
||||
qtserialport
|
||||
qtmultimedia-5
|
||||
zlib))
|
||||
(synopsis "Layout, editing, and control software for your laser cutter")
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (gnu packages xiph)
|
||||
|
@ -56,19 +55,24 @@
|
|||
'("chrome"
|
||||
"chrome-sandbox"
|
||||
"chrome_crashpad_handler"
|
||||
"nacl_helper"
|
||||
"libEGL.so"
|
||||
"libGLESv2.so"
|
||||
"liboptimization_guide_internal.so"
|
||||
"libqt5_shim.so"
|
||||
"libqt6_shim.so"
|
||||
"libvk_swiftshader.so"
|
||||
"libvulkan.so.1"
|
||||
"WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))
|
||||
"libGLESv2.so")))
|
||||
#:install-plan
|
||||
#~'(("opt/" "/share")
|
||||
("usr/share/" "/share"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-deb
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(invoke "ar" "x" #$source)
|
||||
(invoke "rm" "-v" "control.tar.xz"
|
||||
"debian-binary"
|
||||
(string-append "google-chrome-" #$repo "_"
|
||||
#$version
|
||||
"-1_amd64.deb"))
|
||||
(invoke "tar" "xf" "data.tar.xz")
|
||||
(invoke "rm" "-vrf" "data.tar.xz" "etc")))
|
||||
(add-before 'install 'patch-assets
|
||||
;; Many thanks to
|
||||
;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/google-chrome/default.nix
|
||||
|
@ -115,13 +119,13 @@
|
|||
(symlink chrome-target exe)
|
||||
(wrap-program exe
|
||||
'("CHROME_WRAPPER" = (#$appname)))))))))
|
||||
(native-inputs (list tar))
|
||||
(inputs
|
||||
(list bzip2
|
||||
curl
|
||||
flac
|
||||
font-liberation
|
||||
gdk-pixbuf
|
||||
gtk
|
||||
harfbuzz
|
||||
libexif
|
||||
libglvnd
|
||||
|
@ -131,8 +135,6 @@
|
|||
opus
|
||||
pciutils
|
||||
pipewire
|
||||
qtbase-5
|
||||
qtbase
|
||||
snappy
|
||||
util-linux
|
||||
xdg-utils
|
||||
|
@ -144,10 +146,10 @@
|
|||
(license (nonfree "https://www.google.com/intl/en/chrome/terms/")))))
|
||||
|
||||
(define-public google-chrome-stable
|
||||
(make-google-chrome "stable" "131.0.6778.108" "0b8a3dmn7n4kyjzyirxcy6xihnasmp3rcy2ly4zh7vp7r5l6lkqd"))
|
||||
(make-google-chrome "stable" "116.0.5845.110" "08hqymyzah1wiyag56iivvydy1zph4jzicjjjyh6br07lpfps7nk"))
|
||||
|
||||
(define-public google-chrome-beta
|
||||
(make-google-chrome "beta" "132.0.6834.32" "0ncjyg3vxsjspb0i1nsflcry9sfsffnqiwa2y7cgh46xamdq6f2c"))
|
||||
(make-google-chrome "beta" "116.0.5845.50" "047wsszg4c23vxq93a335iymiqpy7lw5izzz4f0zk1a4sijafd59"))
|
||||
|
||||
(define-public google-chrome-unstable
|
||||
(make-google-chrome "unstable" "133.0.6847.2" "1z15maqs1g8lhi7dm9hn4r272nl0g967a11igmw2sj14zl3n9j6g"))
|
||||
(make-google-chrome "unstable" "119.0.6034.6" "156rsklyi1z014pyximwyjsnc2rhdky1kck9g63738vnhcv398b0"))
|
||||
|
|
|
@ -26,15 +26,15 @@
|
|||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public chromium-embedded-framework
|
||||
(let ((git-revision "5053a95")
|
||||
(chromium-version "117.0.5938.150")
|
||||
(let ((git-revision "d0bbcbb")
|
||||
(chromium-version "103.0.5060.114")
|
||||
(arch (match (or (%current-target-system) (%current-system))
|
||||
("aarch64-linux" "linuxarm64")
|
||||
("armhf-linux" "linuxarm")
|
||||
(_ "linux64"))))
|
||||
(package
|
||||
(name "chromium-embedded-framework")
|
||||
(version "117.2.4")
|
||||
(version "103.0.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -45,7 +45,7 @@
|
|||
"_" arch "_minimal.tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vzzwq1k6bv9d209yg3samvfnfwj7s58y9r3p3pd98wxa9iyzf4j"))))
|
||||
"143x0jmasl4z16bkxlrbz874chd9x9xpc5qylb9h7j80gfcrzlsi"))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
`(#:patchelf-plan
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2020 Jelle Licht <jlicht@fsfe.org>
|
||||
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
|
||||
(define-module (nongnu packages clojure)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -12,7 +11,6 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (nonguix build-system binary)
|
||||
|
@ -87,7 +85,7 @@ lets you focus on your code.")
|
|||
(define-public clj-kondo
|
||||
(package
|
||||
(name "clj-kondo")
|
||||
(version "2025.01.16")
|
||||
(version "2023.01.20")
|
||||
(source (origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append
|
||||
|
@ -95,87 +93,26 @@ lets you focus on your code.")
|
|||
version "/clj-kondo-" version "-linux-amd64.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w9a2lz9xr5446bav2fp70jfinlm9zrl0iv9s0h0b6jczqx2f977"))))
|
||||
"0i91qaqjnrg7ad0rs1r4rjwi77pr16dhck9bflb4kiyggcbs4dds"))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
(list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib")))
|
||||
#:install-plan `'(("./clj-kondo" "/bin/"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
`(#:patchelf-plan
|
||||
'(("clj-kondo" ("gcc:lib" "zlib")))
|
||||
#:install-plan
|
||||
'(("clj-kondo" "/bin/"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chmod
|
||||
(lambda _
|
||||
(chmod "clj-kondo" #o755))))))
|
||||
(native-inputs
|
||||
(list unzip))
|
||||
`(("unzip" ,unzip)))
|
||||
(inputs
|
||||
(list `(,gcc "lib")
|
||||
zlib))
|
||||
`(("gcc:lib" ,gcc "lib")
|
||||
("zlib" ,zlib)))
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "https://github.com/clj-kondo/clj-kondo")
|
||||
(synopsis "Linter for Clojure code")
|
||||
(description "Clj-kondo performs static analysis on Clojure, ClojureScript
|
||||
and EDN, without the need of a running REPL.")
|
||||
(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
|
||||
(package
|
||||
(name "unrar")
|
||||
(version "7.0.9")
|
||||
(version "6.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.rarlab.com/rar/unrarsrc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09l336li4q7yrpjq22q6da2vrynpqbyb4a9fdxa02k65wkwi6p2h"))))
|
||||
"1mbw20lh300r541dz4m84rvq7b542mnb70yc29afrjj6waknqza7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; No tests.
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
(define-public compcert
|
||||
(package
|
||||
(name "compcert")
|
||||
(version "3.14")
|
||||
(version "3.12")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -24,11 +24,15 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"030fsg0qr9aasmwk0ahp78sw8rbjmf6pl1w9ws5ghs61kyk4qwj1"))))
|
||||
"0pcrkz1as37iz2wcp8j226fjn672lrj0cip2s0wpkiy097qi0yc5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'allow-newer-coq-version
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("8.15.2") "8.16.1"))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((system ,(match (or (%current-target-system) (%current-system))
|
||||
|
|
|
@ -67,25 +67,25 @@ various IDEs and plugins.")
|
|||
(license license:expat)))
|
||||
|
||||
(define-public dotnet
|
||||
(let ((dotnet-sdk-version "8.0.8"))
|
||||
(let ((dotnet-sdk-version "6.0.9"))
|
||||
(package
|
||||
(name "dotnet")
|
||||
(version "8.0.401")
|
||||
(version "6.0.401")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/tarbomb)
|
||||
(uri
|
||||
(string-append "https://download.visualstudio.microsoft.com/"
|
||||
"download/pr/db901b0a-3144-4d07-b8ab-6e7a43e7a791/"
|
||||
"4d9d1b39b879ad969c6c0ceb6d052381/dotnet-sdk-"
|
||||
version "-linux-x64.tar.gz"))
|
||||
(string-append "https://download.visualstudio.microsoft.com/download/pr/8159607a-e686-4ead-ac99-b4c97290a5fd/ec6070b1b2cc0651ebe57cf1bd411315/dotnet-sdk-"
|
||||
version
|
||||
"-linux-x64.tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ygr563apl2776yjabn0plsvx5fcmb5wb0fnldrqwb9b5n8d6cb2"))))
|
||||
(base32
|
||||
"05yr64ffcaf48ripxzcv9nwlzp7r83cy9hz17dm5c0317lhksqch"))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
`(#:patchelf-plan
|
||||
;; TODO: Make this a more compact procedure.
|
||||
`(("dotnet" ("gcc:lib" "zlib"))
|
||||
`(("dotnet"
|
||||
("gcc:lib" "zlib"))
|
||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||
dotnet-sdk-version
|
||||
"/libSystem.Net.Security.Native.so")
|
||||
|
@ -94,18 +94,6 @@ various IDEs and plugins.")
|
|||
dotnet-sdk-version
|
||||
"/libSystem.Security.Cryptography.Native.OpenSsl.so")
|
||||
("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/"
|
||||
dotnet-sdk-version
|
||||
"/libSystem.IO.Compression.Native.so")
|
||||
|
@ -120,12 +108,12 @@ various IDEs and plugins.")
|
|||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||
dotnet-sdk-version "/libclrjit.so")
|
||||
("gcc:lib"))
|
||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||
dotnet-sdk-version "/libclrgc.so")
|
||||
("gcc:lib"))
|
||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||
dotnet-sdk-version "/libcoreclr.so")
|
||||
("gcc:lib" "icu4c"))
|
||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||
dotnet-sdk-version "/libdbgshim.so")
|
||||
("gcc:lib"))
|
||||
(,,(string-append "shared/Microsoft.NETCore.App/"
|
||||
dotnet-sdk-version "/libhostpolicy.so")
|
||||
("gcc:lib"))
|
||||
|
|
|
@ -83,7 +83,7 @@
|
|||
((guix elf) #:select (elf-segments parse-elf PT_INTERP))
|
||||
((ice-9 binary-ports) #:select (get-bytevector-n))
|
||||
((srfi srfi-1) #:select (last))
|
||||
,@%default-gnu-imported-modules)
|
||||
,@%gnu-build-system-modules)
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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)
|
||||
#:use-module (gnu packages base)
|
||||
|
@ -8,45 +8,33 @@
|
|||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) :prefix license:)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
#:use-module (ice-9 match))
|
||||
#:use-module (nonguix build-system chromium-binary))
|
||||
|
||||
(define-public vscodium
|
||||
(package
|
||||
(name "vscodium")
|
||||
(version "1.92.1.24225")
|
||||
(version "1.81.1.23222")
|
||||
(source
|
||||
(let ((arch (match (or (%current-target-system) (%current-system))
|
||||
("aarch64-linux" "arm64")
|
||||
("armhf-linux" "armhf")
|
||||
(_ "x64")))
|
||||
(hash (match (or (%current-target-system) (%current-system))
|
||||
("aarch64-linux"
|
||||
"0m5x9v577h8n16ypzb1y2066alc59v5bw7jiqp2xr7g20s9kb0vy")
|
||||
("armhf-linux"
|
||||
"047gz12gx8pa5aglykd0785l6i9ivsn4kkgfhi5l0y4jh8hjys8c")
|
||||
(_
|
||||
"1w1rhbbk177yz85csck3sax51qnvgaip9w238dmzb4a50ikfnp23"))))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/VSCodium/vscodium/releases/download/" version
|
||||
"/VSCodium-linux-" arch "-" version ".tar.gz"))
|
||||
"/VSCodium-linux-x64-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 hash)))))
|
||||
(base32 "0wx53ajjwil82s3nl6wvpdf01mh33yqasf1ia54s1rfzz10fa1m6"))))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||
#:substitutable? #f
|
||||
#:wrapper-plan
|
||||
#~'(("opt/vscodium/codium" (("out" "/opt/vscodium"))))
|
||||
#~'("opt/vscodium/codium")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(lambda _
|
||||
(mkdir-p "opt/vscodium")
|
||||
(invoke "tar" "-xvf" source "-C" "opt/vscodium")))
|
||||
(invoke "tar" "-xvf" #$source "-C" "opt/vscodium")))
|
||||
(add-before 'install-wrapper 'install-entrypoint
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin")))
|
||||
|
@ -72,7 +60,7 @@
|
|||
(string-append apps "/" #$name ".desktop")
|
||||
#:name "VSCodium"
|
||||
#:generic-name "Text Editor"
|
||||
#:exec (string-append #$output "/bin/codium --ozone-platform-hint=auto")
|
||||
#:exec (string-append #$output "/bin/codium")
|
||||
#:icon "code"
|
||||
#:type "Application"
|
||||
#:actions '("new-empty-window")
|
||||
|
@ -83,8 +71,15 @@
|
|||
#:startup-w-m-class "Code"
|
||||
#:comment
|
||||
'(("en" "Code Editing. Redefined.")
|
||||
(#f "Code Editing. Redefined.")))))))))
|
||||
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
||||
(#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"))
|
||||
":")))))))))
|
||||
(native-inputs
|
||||
(list tar))
|
||||
(inputs
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2023 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; 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)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
|
@ -15,8 +13,11 @@
|
|||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages video))
|
||||
|
||||
(define (electron-source version hash)
|
||||
(origin
|
||||
(define-public electron
|
||||
(package
|
||||
(name "electron")
|
||||
(version "25.3.1")
|
||||
(source (origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri
|
||||
(string-append
|
||||
|
@ -26,18 +27,9 @@
|
|||
("x86_64-linux" "linux-x64")
|
||||
("i686-linux" "linux-ia32")
|
||||
("aarch64-linux" "linux-arm64")
|
||||
("armhf-linux" "linux-armv7l")
|
||||
;; We need a default case
|
||||
(_ "unsupported"))
|
||||
("armhf-linux" "linux-armv7l"))
|
||||
".zip"))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define-public electron-27
|
||||
(package
|
||||
(name "electron")
|
||||
(version "27.3.6")
|
||||
(source (electron-source version
|
||||
"12hjn1bfk8c25f54kk561mkjl7hsk8b16rj7a7gczswjdpx6fpi0"))
|
||||
(sha256 (base32 "0x6asi81gwxx33mhpm74l31xzf1lbzbf7s97fay0l35fg73kkw9n"))))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
`(#:wrapper-plan
|
||||
|
@ -89,18 +81,3 @@ Chromium and is used by the Atom editor and many other apps.")
|
|||
(license (license:nonfree
|
||||
(string-append "https://github.com/electron/electron/blob/v"
|
||||
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"))))
|
||||
|
|
|
@ -35,22 +35,28 @@
|
|||
#~'("lib/LycheeSlicer/lycheeslicer")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'setup-cwd
|
||||
(replace 'unpack
|
||||
(lambda _
|
||||
(invoke "ar" "x" #$source)
|
||||
(invoke "tar" "xvf" "data.tar.xz")
|
||||
;; Use the more standard lib directory for everything.
|
||||
(rename-file "opt/" "lib")
|
||||
(mkdir-p "share")
|
||||
(copy-recursively "usr/share" "share")
|
||||
;; Remove unneeded files.
|
||||
(delete-file-recursively "usr")))
|
||||
(add-after 'setup-cwd 'fix-desktop-file
|
||||
(delete-file-recursively "usr")
|
||||
(delete-file "control.tar.gz")
|
||||
(delete-file "data.tar.xz")
|
||||
(delete-file "debian-binary")))
|
||||
(add-after 'unpack 'fix-desktop-file
|
||||
(lambda _
|
||||
;; Fix the .desktop file binary location.
|
||||
(substitute* '("share/applications/lycheeslicer.desktop")
|
||||
(("/opt/LycheeSlicer")
|
||||
(string-append #$output "/lib/LycheeSlicer")))))
|
||||
(add-before 'install-wrapper 'symlink-binary-file
|
||||
(add-before 'install-wrapper 'symlink-binary-file-and-cleanup
|
||||
(lambda _
|
||||
(delete-file (string-append #$output "/environment-variables"))
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(symlink (string-append #$output "/lib/LycheeSlicer/lycheeslicer")
|
||||
(string-append #$output "/bin/lycheeslicer"))))
|
||||
|
@ -62,6 +68,7 @@
|
|||
(list
|
||||
(string-append #$output "/lib/LycheeSlicer"))
|
||||
":")))))))))
|
||||
(native-inputs (list tar))
|
||||
(inputs
|
||||
(list libxscrnsaver))
|
||||
(home-page "https://mango3d.io")
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
;;; Copyright © 2022-2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
||||
;;; Copyright © 2023 Krzysztof Baranowski <pharcosyle@gmail.com>
|
||||
;;; Copyright © 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
||||
(define-module (nongnu packages firmware)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -135,18 +134,16 @@ HDMI to USB Type-C Bridge in the PinePhone.")
|
|||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:substitutable? #f
|
||||
#:install-plan '(;;Bluetooth firmware
|
||||
("BCM4345C5.hcd" "/lib/firmware/brcm/")
|
||||
#:install-plan '( ;Bluetooth firmware
|
||||
("BCM4345C5.hcd" "usr/lib/firmware/brcm/")
|
||||
;; WiFi firmware
|
||||
("fw_bcm43456c5_ag.bin" "/lib/firmware/brcm/")
|
||||
("fw_bcm43456c5_ag.bin"
|
||||
"/lib/firmware/brcm/brcmfmac43456-sdio.bin")
|
||||
("fw_bcm43456c5_ag.bin" "usr/lib/firmware/brcm/")
|
||||
("brcmfmac43456-sdio.clm_blob"
|
||||
"/lib/firmware/brcm/")
|
||||
"usr/lib/firmware/brcm/")
|
||||
("brcmfmac43456-sdio.AP6256.txt"
|
||||
"/lib/firmware/brcm/")
|
||||
"usr/lib/firmware/brcm/")
|
||||
("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")
|
||||
(description
|
||||
"This package provides Firmware for the wifi/bt module AP6256,
|
||||
|
|
|
@ -213,10 +213,10 @@ Included fonts:
|
|||
(define-public font-apple-sf-pro
|
||||
(apple-font
|
||||
#:font-name "SF Pro"
|
||||
#:archive-timestamp "20240527221252"
|
||||
#:archive-timestamp "20230710073336"
|
||||
#:file "SF-Pro"
|
||||
#:version "20.0d8e1"
|
||||
#:hash "153k3q8h5mpd358b1lsa8ha32qxv7vc2q661k20j4nnf3ndjkv9j"
|
||||
#:version "19.0d6e1"
|
||||
#:hash "19qa6fs6x5614sqw9a6idlizzsssw8256crz1ps2p2n6gwp2fvaq"
|
||||
#:description "This neutral, flexible, sans-serif typeface is the system
|
||||
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
|
||||
|
@ -226,10 +226,10 @@ scripts."))
|
|||
(define-public font-apple-sf-compact
|
||||
(apple-font
|
||||
#:font-name "SF Compact"
|
||||
#:archive-timestamp "20240527221317"
|
||||
#:archive-timestamp "20230710073418"
|
||||
#:file "SF-Compact"
|
||||
#:version "20.0d8e1"
|
||||
#:hash "01j7k95rnmg667hyhj88fxqrgsah2mnk2ws7fmclif92mqcgwirj"
|
||||
#:version "19.0d6e1"
|
||||
#:hash "02127drlqvwscq6vaphmvsp85cn8j4zfhi0kb9a3fzc0z8b95hdq"
|
||||
#:description "Sharing many features with SF Pro, SF Compact features an
|
||||
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."))
|
||||
|
@ -237,10 +237,10 @@ SF Compact is the system font for watchOS and includes a rounded variant."))
|
|||
(define-public font-apple-sf-mono
|
||||
(apple-font
|
||||
#:font-name "SF Mono"
|
||||
#:archive-timestamp "20240527221346"
|
||||
#:archive-timestamp "20230710073457"
|
||||
#:file "SF-Mono"
|
||||
#:version "20.0d8e1"
|
||||
#:hash "0cxj1wk6nbz1ysi0cg1w79b7ja48n00dypxkrsc3mvrn1vmdb4dm"
|
||||
#:version "19.0d6e1"
|
||||
#:hash "0vjdpl3xyxl2rmfrnjsxpxdizpdr4canqa1nm63s5d3djs01iad6"
|
||||
#:description "This monospaced variant of San Francisco enables alignment
|
||||
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."))
|
||||
|
@ -248,10 +248,10 @@ SF Mono features six weights and supports Latin, Greek, and Cyrillic scripts."))
|
|||
(define-public font-apple-sf-arabic
|
||||
(apple-font
|
||||
#:font-name "SF Arabic"
|
||||
#:archive-timestamp "20240527221359"
|
||||
#:archive-timestamp "20230710073501"
|
||||
#:file "SF-Arabic"
|
||||
#:version "20.0d8e1"
|
||||
#:hash "0sm7w5i19n3jdj6d04344nxizqacg264rladjiwhxhwa3ksfbxsn"
|
||||
#:version "19.0d6e1"
|
||||
#:hash "0phl3wi0lq7djcg8nqg1ml1f73bsfjzmvd2n8hkl6dbprmw614jp"
|
||||
#:description "A contemporary interpretation of the Naskh style with a
|
||||
rational and flexible design, this extension of San Francisco is the Arabic
|
||||
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
|
||||
(apple-font
|
||||
#:font-name "New York"
|
||||
#:archive-timestamp "20240527221356"
|
||||
#:archive-timestamp "20230710073506"
|
||||
#:file "NY"
|
||||
#:version "17.0d5e1"
|
||||
#:hash "06d8pnfp4z5nb82mh7g7pnz5m4njph3zy17ww1m8x0m34hn50zdn"
|
||||
#:hash "1hgxyizpgam7y1xh36fsypd3a1nn417wdnnfk1zahq9vhxrrds2w"
|
||||
#:description "A companion to San Francisco, this serif typeface is based on
|
||||
essential aspects of historical type styles. New York features six weights,
|
||||
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
|
||||
(apple-font
|
||||
#:font-name "SF Symbols"
|
||||
#:archive-timestamp "20240701100406"
|
||||
#:file "SF-Symbols-6"
|
||||
#:version "6"
|
||||
#:hash "1hyghp03zpsiks2p6kmghnmg28kkjj3qqk2hgwva855kly6r4hv8"
|
||||
#:archive-timestamp "20230710073513"
|
||||
#:file "SF-Symbols-5"
|
||||
#:version "5"
|
||||
#:hash "1bwlq1nf75bv0x36qdk371r2pd5slf3jlv50wgsl0kpj1dds22sf"
|
||||
#:description "With over 5,000 symbols, SF Symbols is a library of
|
||||
iconography designed to integrate seamlessly with San Francisco, the system
|
||||
font for Apple platforms. Symbols come in nine weights and three scales, and
|
||||
|
|
|
@ -4,10 +4,9 @@
|
|||
;;; Copyright © 2021 pineapples
|
||||
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
|
||||
;;; Copyright © 2021 Kozo <kozodev@runbox.com>
|
||||
;;; Copyright © 2021, 2022, 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2023 Elijah Malaby
|
||||
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
|
||||
|
||||
(define-module (nongnu packages game-client)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
|
@ -55,10 +54,10 @@
|
|||
#:use-module (nonguix multiarch-container)
|
||||
#:use-module (nonguix utils))
|
||||
|
||||
(define heroic-client
|
||||
(define-public heroic-client
|
||||
(package
|
||||
(name "heroic-client")
|
||||
(version "2.15.2")
|
||||
(version "2.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -67,37 +66,54 @@
|
|||
version "/heroic_" version "_amd64.deb"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bzdb9nqmr9w092c22n57ldykm00n98d78rhqzypf430lrl0kzcj"))))
|
||||
"128x6bqp85nib7v6ldnyy39qrxppqjgwmfvi59lbf0jr5pa546jg"))))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||
#: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
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'setup-cwd
|
||||
(replace 'unpack
|
||||
(lambda _
|
||||
(invoke "ar" "x" #$source)
|
||||
(invoke "tar" "xvf" "data.tar.xz")
|
||||
(copy-recursively "usr/" ".")
|
||||
;; Use the more standard lib directory for everything.
|
||||
(rename-file "opt/" "lib")
|
||||
;; Remove unneeded files.
|
||||
(delete-file-recursively "usr")))
|
||||
;; Fix the .desktop file "Exec" line to just be "heroic" in
|
||||
;; order for this desktop file to be useful to launch heroic in
|
||||
;; the container (heroic package) as well.
|
||||
(add-after 'patch-dot-desktop-files 'fix-desktop-file
|
||||
(lambda _
|
||||
(substitute*
|
||||
(string-append #$output "/share/applications/heroic.desktop")
|
||||
(("Exec=.*/heroic") "Exec=heroic"))))
|
||||
(delete 'patch-dot-desktop-files)
|
||||
(add-after 'install 'symlink-binary-file
|
||||
(delete-file-recursively "usr")
|
||||
(delete-file "control.tar.gz")
|
||||
(delete-file "data.tar.xz")
|
||||
(delete-file "debian-binary")
|
||||
;; Fix the .desktop file binary location.
|
||||
(substitute* '("share/applications/heroic.desktop")
|
||||
(("/opt/Heroic/")
|
||||
(string-append #$output "/bin/")))))
|
||||
(add-after 'install 'symlink-binary-file-and-cleanup
|
||||
(lambda _
|
||||
(delete-file (string-append #$output "/environment-variables"))
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(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"))
|
||||
":")))))))))
|
||||
(native-inputs (list tar))
|
||||
(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
|
||||
games from the Epic Games Store using Legendary, GOG Games using our custom
|
||||
implementation with gogdl and Amazon Games using Nile.")
|
||||
|
@ -106,7 +122,7 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
(define steam-client
|
||||
(package
|
||||
(name "steam-client")
|
||||
(version "1.0.0.78")
|
||||
(version "1.0.0.75")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -114,7 +130,7 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0390qy8vy7sx35hxl51yrbk6mvdz1vvpy96v07qva4bjbmsmjhhh"))
|
||||
"19rn29slsxv7b5fisr1jzn79bskzifbj5hmxqn2436ivwfjna9g5"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -131,6 +147,7 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
(substitute* "Makefile"
|
||||
(("-fns ")
|
||||
"-fns $(DESTDIR)"))))
|
||||
(delete 'patch-dot-desktop-files)
|
||||
(add-after 'unpack 'patch-startscript
|
||||
(lambda _
|
||||
(substitute* "bin_steam.sh"
|
||||
|
@ -146,9 +163,8 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
(substitute* (string-append path "steam-asound32.desktop")
|
||||
(("Exec=steam %U") "Exec=steam %U -- --asound32")
|
||||
(("Name=Steam") "Name=Steam (32-bit ALSA)")))))
|
||||
(delete 'patch-dot-desktop-files)
|
||||
;; 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)
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(delete-file (string-append out "/lib/steam/bin_steamdeps.py"))
|
||||
|
@ -158,9 +174,30 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
(description "Steam is a digital software distribution platform created by Valve.")
|
||||
(license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt"))))
|
||||
|
||||
;; After guix commit to add a replacement for libx11 (security fixes),
|
||||
;; 5ff0c8997a2ddf71af477883584a5f9ccd9b757f, a profile collision happens with
|
||||
;; the propagated libx11 (now grafted) from mesa and its propagated-input
|
||||
;; libxdamage. See previous upstream report (when this occurred for expat and
|
||||
;; fontconfig) at <https://issues.guix.gnu.org/53406>. So we define explicit
|
||||
;; replacement packages to workaround this issue.
|
||||
;; TODO: remove once upstream bug is fixed or libx11 is ungrafted.
|
||||
(define libxdamage-fixed
|
||||
(package
|
||||
(inherit libxdamage)
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs libxdamage)
|
||||
(replace "libx11" libx11-fixed)))))
|
||||
|
||||
(define mesa-fixed
|
||||
(package
|
||||
(inherit mesa)
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs mesa)
|
||||
(replace "libx11" libx11-fixed)
|
||||
(replace "libxdamage" libxdamage-fixed)))))
|
||||
|
||||
(define steam-client-libs
|
||||
`(("at-spi2-core" ,at-spi2-core) ; Required (often) for SteamVR interface.
|
||||
("bash" ,bash) ; Required for steam startup.
|
||||
`(("bash" ,bash) ; Required for steam startup.
|
||||
("coreutils" ,coreutils)
|
||||
("diffutils" ,diffutils)
|
||||
("dbus-glib" ,dbus-glib) ; Required for steam browser.
|
||||
|
@ -169,18 +206,10 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
("fontconfig" ,fontconfig) ; Required for steam client.
|
||||
("file" ,file) ; Used for steam installation.
|
||||
("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.
|
||||
("gawk" ,gawk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf) ; Required for steam tray icon.
|
||||
;; Required for steam startup; use newer version for better compatibility
|
||||
;; with some games like Dwarf Fortress.
|
||||
("gcc:lib" ,gcc-14 "lib")
|
||||
("gcc:lib" ,gcc "lib") ; Required for steam startup.
|
||||
("grep" ,grep)
|
||||
("libbsd" ,libbsd)
|
||||
("libcap" ,libcap) ; Required for SteamVR, but needs pkexec too.
|
||||
|
@ -190,7 +219,9 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
("libvdpau-va-gl" ,libvdpau-va-gl) ; Additional VDPAU support.
|
||||
("llvm" ,llvm-for-mesa) ; Required for mesa.
|
||||
("lsof" ,lsof) ; Required for some friend's list actions.
|
||||
("mesa" ,mesa) ; Required for steam startup.
|
||||
;; TODO: Set back to mesa once libx11 is ungrafted upstream or once
|
||||
;; <https://issues.guix.gnu.org/53406> is fixed.
|
||||
("mesa" ,mesa-fixed) ; Required for steam startup.
|
||||
("nss-certs" ,nss-certs) ; Required for steam login.
|
||||
("pciutils" ,pciutils) ; Tries to run lspci at steam startup.
|
||||
("procps" ,procps)
|
||||
|
@ -216,42 +247,25 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
("python" ,python) ; Required for KillingFloor2 and Wreckfest.
|
||||
("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
|
||||
`(("curl" ,curl) ; Required for Heroic to download e.g. Wine.
|
||||
("which" ,which) ; Heroic complains about trying to use which (though works).
|
||||
("gtk+" ,gtk+))) ; Required for Heroic interface (gtk filechooser schema).
|
||||
|
||||
(define steam-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")
|
||||
(fhs-union steam-container-libs
|
||||
(fhs-union `(,@steam-client-libs
|
||||
,@steam-gameruntime-libs
|
||||
,@fhs-min-libs)
|
||||
#:name "fhs-union-32"
|
||||
#:system "i686-linux"))))
|
||||
|
||||
(define steam-ld.so.cache
|
||||
(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
|
||||
(nonguix-container
|
||||
(name "steam")
|
||||
|
@ -260,13 +274,18 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
(ld.so.conf steam-ld.so.conf)
|
||||
(ld.so.cache steam-ld.so.cache)
|
||||
(union64
|
||||
(fhs-union steam-container-libs
|
||||
(fhs-union `(,@steam-client-libs
|
||||
,@steam-gameruntime-libs
|
||||
,@fhs-min-libs)
|
||||
#:name "fhs-union-64"))
|
||||
(union32
|
||||
(fhs-union steam-container-libs
|
||||
(fhs-union `(,@steam-client-libs
|
||||
,@steam-gameruntime-libs
|
||||
,@fhs-min-libs)
|
||||
#:name "fhs-union-32"
|
||||
#:system "i686-linux"))
|
||||
(link-files '("share"))
|
||||
(link-files '("share/applications/steam.desktop"
|
||||
"share/applications/steam-asound32.desktop"))
|
||||
(description "Steam is a digital software distribution platform created by
|
||||
Valve. This package provides a script for launching Steam in a Guix container
|
||||
which will use the directory @file{$HOME/.local/share/guix-sandbox-home} where
|
||||
|
@ -276,18 +295,8 @@ all games will be installed.")))
|
|||
(nonguix-container
|
||||
(inherit steam-container)
|
||||
(name "steam-nvidia")
|
||||
;; Steam's .desktop files expect a "steam" executable, so provide that.
|
||||
(binary-name "steam")
|
||||
(ld.so.conf steam-nvidia-ld.so.conf)
|
||||
(ld.so.cache steam-nvidia-ld.so.cache)
|
||||
(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)))
|
||||
(union64 (replace-mesa (ngc-union64 steam-container)))
|
||||
(union32 (replace-mesa (ngc-union32 steam-container)))))
|
||||
|
||||
(define-public steam (nonguix-container->package steam-container))
|
||||
(define-public steam-nvidia (nonguix-container->package steam-nvidia-container))
|
||||
|
@ -299,22 +308,22 @@ all games will be installed.")))
|
|||
(run "/bin/heroic")
|
||||
(ld.so.conf steam-ld.so.conf)
|
||||
(ld.so.cache steam-ld.so.cache)
|
||||
;; TODO: Probably can remove some of the packages from these lists, at
|
||||
;; least changing the client libraries as Heroic is rather different from
|
||||
;; Steam. However, a good number will be needed to run games anyway. A
|
||||
;; better separation and testing in Steam as well would be helpful to
|
||||
;; differentiate what packages are needed for what in general. For now,
|
||||
;; this is easier and works.
|
||||
(union64
|
||||
(fhs-union `(,@heroic-extra-client-libs
|
||||
,@steam-container-libs)
|
||||
,@steam-client-libs
|
||||
,@steam-gameruntime-libs
|
||||
,@fhs-min-libs)
|
||||
#: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 and
|
||||
;; cause profile collisions with gtk+ and the libx11 graft (which is deep
|
||||
;; and wide spread in the dependency tree).
|
||||
(union32
|
||||
(fhs-union steam-container-libs
|
||||
(fhs-union `(,@steam-client-libs
|
||||
,@steam-gameruntime-libs
|
||||
,@fhs-min-libs)
|
||||
#:name "fhs-union-32"
|
||||
#:system "i686-linux"))
|
||||
(link-files '("share"))
|
||||
(link-files '("share/applications/heroic.desktop"))
|
||||
(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
|
||||
implementation with gogdl and Amazon Games using Nile. This package provides
|
||||
|
@ -326,17 +335,8 @@ installed.")))
|
|||
(nonguix-container
|
||||
(inherit heroic-container)
|
||||
(name "heroic-nvidia")
|
||||
(ld.so.conf steam-nvidia-ld.so.conf)
|
||||
(ld.so.cache steam-nvidia-ld.so.cache)
|
||||
(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)))
|
||||
(union64 (replace-mesa (ngc-union64 heroic-container)))
|
||||
(union32 (replace-mesa (ngc-union32 heroic-steam-container)))))
|
||||
|
||||
(define-public heroic (nonguix-container->package heroic-container))
|
||||
(define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container))
|
||||
|
|
|
@ -1,20 +1,16 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
||||
;;; Copyright © 2024 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
|
||||
(define-module (nongnu packages game-development)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module ((nonguix licenses) :prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (nonguix build-system binary)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix licenses) :prefix license:)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages base)
|
||||
#: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"))))
|
||||
|
||||
(define-public eduke32
|
||||
;; There are no official releases.
|
||||
(let ((commit "188e14622cfe5c6f63b04b989b350bf2a29a893c")
|
||||
(revision "1")
|
||||
(duke-nukem-3d-directory "share/dukenukem3d"))
|
||||
(package
|
||||
(name "eduke32")
|
||||
(version "20240316-10564-0bc78c53d")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dukeworld.com/eduke32/synthesis/"
|
||||
version "/eduke32_src_" version ".tar.xz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://voidpoint.io/terminx/eduke32.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a9fw1kfriyrybjxl72b2434w3yiz2nxg6541lnyhzbdka2cp2lf"))
|
||||
(base32 "0wy4bppiw4q2hn0v38msrjyvj2hzfvigakc23c2wqfnbl7rm0hrz"))
|
||||
;; Unbundle libxmp.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libxmp and platform-specific stuff.
|
||||
#~(for-each delete-file-recursively '("platform" "source/libxmp-lite")))))
|
||||
'(begin (delete-file-recursively "source/libxmp-lite") #t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:license-file-regexp "buildlic.txt"
|
||||
#:tests? #f
|
||||
`(#:tests? #f
|
||||
;; Add glu to rpath so that SDL can dlopen it.
|
||||
#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
|
||||
(assoc-ref %build-inputs "glu") "/lib"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'link-license
|
||||
(lambda _
|
||||
;; Ensure the install-license-files phase can find it.
|
||||
(link "package/common/buildlic.txt" "buildlic.txt")))
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-libxmp
|
||||
(lambda _
|
||||
(substitute* "Common.mak"
|
||||
(("^LIBS :=" match) (string-append match " -lxmp")))
|
||||
(substitute* "GNUmakefile"
|
||||
(("-I\\$\\(libxmplite_inc\\)")
|
||||
(string-append "-I" (assoc-ref %build-inputs "libxmp") "/include"))
|
||||
(("^ *audiolib_deps \\+= libxmplite.*$") "")
|
||||
(("-logg") "-logg -lxmp"))
|
||||
(with-directory-excursion "source/audiolib/src"
|
||||
(for-each (lambda (file) (substitute* file (("libxmp-lite/") "")))
|
||||
'("multivoc.cpp" "xmp.cpp")))))
|
||||
(add-after 'unpack 'fix-share-path
|
||||
(lambda _
|
||||
(substitute* "source/duke3d/src/common.cpp"
|
||||
(("/usr/local/share/games") (string-append #$output "/share")))))
|
||||
'("multivoc.cpp" "xmp.cpp")))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin")))
|
||||
(install-file "eduke32" bin)
|
||||
(install-file "mapster32" bin)
|
||||
(install-file "package/sdk/m32help.hlp"
|
||||
(string-append #$output "/share/eduke32"))))))))
|
||||
(inputs (list alsa-lib
|
||||
flac
|
||||
glu
|
||||
gtk+-2
|
||||
libvorbis
|
||||
libvpx
|
||||
libxmp
|
||||
sdl2
|
||||
sdl2-mixer))
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(glu (assoc-ref inputs "glu"))
|
||||
(eduke (string-append out "/bin/eduke32"))
|
||||
(eduke-real (string-append out "/bin/.eduke32-real")))
|
||||
;; TODO: Install custom .desktop file? Need icon.
|
||||
;; See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=eduke32.
|
||||
(install-file "eduke32" (string-append out "/bin"))
|
||||
(install-file "mapster32" (string-append out "/bin"))
|
||||
(install-file "package/common/buildlic.txt"
|
||||
(string-append out "/share/licenses"))
|
||||
;; Wrap program:
|
||||
;; - Make sure current directory is writable, else eduke32 will segfault.
|
||||
;; - Add ../share/dukenukem3d to the dir search list.
|
||||
;; TODO: Skip store duke3d.grp When ~/.config/eduke32/duke3d.grp is found.
|
||||
(rename-file eduke eduke-real)
|
||||
(call-with-output-file eduke
|
||||
(lambda (p)
|
||||
(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
|
||||
(list gdk-pixbuf pkg-config))
|
||||
`(("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.
|
||||
(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
|
||||
with game files or or put @file{.grp} game files manually in
|
||||
@file{~/.config/eduke32/}.")
|
||||
(home-page "https://eduke32.com")
|
||||
(license
|
||||
(list license:gpl2
|
||||
(license:nonfree "file://package/common/buildlic.txt")))))
|
||||
(home-page "https://eduke32.com/")
|
||||
(license (license:nonfree
|
||||
"https://eduke32.com/buildlic.txt")))))
|
||||
|
||||
(define-public fury
|
||||
(package/inherit eduke32
|
||||
(package
|
||||
(inherit eduke32)
|
||||
(name "fury")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments eduke32)
|
||||
((#:make-flags flags #~'())
|
||||
#~(cons* "FURY=1" #$flags))
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'disable-sdl-static
|
||||
(lambda _
|
||||
(substitute* "GNUmakefile"
|
||||
(("SDL_STATIC := 1") ""))))
|
||||
((#:make-flags flags ''()) `(cons* "FURY=1" ,flags))
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "fury" (string-append #$output "/bin"))))))))
|
||||
(inputs
|
||||
(alist-delete "libvpx" (package-inputs eduke32)))
|
||||
(let* ((out (assoc-ref %outputs "out")))
|
||||
(install-file "fury" (string-append out "/bin"))
|
||||
(install-file "mapster32" (string-append out "/bin"))
|
||||
(install-file "package/common/buildlic.txt"
|
||||
(string-append out "/share/licenses")))
|
||||
#t))))))
|
||||
(synopsis "Game engine for the first-person shooter Ion Fury")
|
||||
(description
|
||||
(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
|
||||
@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
|
||||
(package
|
||||
(name "lgogdownloader")
|
||||
(version "3.15")
|
||||
(version "3.11")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -31,7 +31,7 @@
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bjjn2wam4f2lzmk0hkdxxc7k0wk3f0lyszl0birsr9h3jjpjqw7"))))
|
||||
(base32 "0mcwl6vfyy91sq1816j4v3lhf06dz1rr58hsq8hqx217z102s86d"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DUSE_QT_GUI=ON")
|
||||
|
@ -39,11 +39,15 @@
|
|||
(inputs
|
||||
(list boost
|
||||
curl
|
||||
htmlcxx
|
||||
jsoncpp
|
||||
qtwebengine
|
||||
liboauth
|
||||
qtbase-5
|
||||
qtdeclarative-5
|
||||
qtwebchannel-5
|
||||
qtwebengine-5
|
||||
rhash
|
||||
tinyxml2
|
||||
tidy-html
|
||||
zlib))
|
||||
(native-inputs
|
||||
(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
|
||||
(package
|
||||
(name "k9s")
|
||||
(version "0.32.5")
|
||||
(version "0.27.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -19,7 +19,7 @@
|
|||
version "/k9s_Linux_amd64.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18yf4vr4pgdl5ssijmpf45amdasjrd3mbgnsp1cjnadszvsiphrk"))))
|
||||
"14j37kl8pbmbid4np48cfv5k8vic6ngnc4pjh01qr6szplg861z5"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -29,8 +29,8 @@
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(invoke "tar" "-xvf" source))))))
|
||||
(lambda _
|
||||
(invoke "tar" "-xvf" #$source))))))
|
||||
(home-page "https://k9scli.io")
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(synopsis "Kubernetes CLI To Manage Your Clusters In Style")
|
||||
|
@ -62,8 +62,8 @@ offers subsequent commands to interact with your observed resources.")
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(copy-file source "./katenary")
|
||||
(lambda _
|
||||
(copy-file #$source "./katenary")
|
||||
(chmod "katenary" #o644)))
|
||||
(add-before 'install 'chmod
|
||||
(lambda _
|
||||
|
@ -79,14 +79,14 @@ Helm Chart for Kubernetes.")
|
|||
(define-public kubectl
|
||||
(package
|
||||
(name "kubectl")
|
||||
(version "1.31.0")
|
||||
(version "1.28.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://dl.k8s.io/release/v" version "/bin/linux/amd64/kubectl"))
|
||||
(sha256
|
||||
(base32
|
||||
"0dr40ckdj65ka6ndp8knyprh1k0nx6vg8yyg7p6c1lc49b3as9vw"))))
|
||||
"1qbl4a2xv795apvbwahdb9kzcm2wys0am1c72as3iavgs3wxd9z7"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -96,8 +96,8 @@ Helm Chart for Kubernetes.")
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(copy-file source "./kubectl")
|
||||
(lambda _
|
||||
(copy-file #$source "./kubectl")
|
||||
(chmod "kubectl" #o644)))
|
||||
(add-before 'install 'chmod
|
||||
(lambda _
|
||||
|
@ -114,7 +114,7 @@ view logs.")
|
|||
(define-public kompose
|
||||
(package
|
||||
(name "kompose")
|
||||
(version "1.34.0")
|
||||
(version "1.30.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -122,7 +122,7 @@ view logs.")
|
|||
version "/kompose-linux-amd64"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wg1ks3flb5rbpazich7v052s3zm8fwja044r67sky3bxxihx3f5"))))
|
||||
"0sy3ci7s2dkjigasyv01nm1vg30wwhmdc0cmglzb23ws8bfrfjlh"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -132,8 +132,8 @@ view logs.")
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(copy-file source "./kompose")))
|
||||
(lambda _
|
||||
(copy-file #$source "./kompose")))
|
||||
(add-before 'install 'chmod
|
||||
(lambda _
|
||||
(chmod "kompose" #o555))))))
|
||||
|
@ -145,17 +145,17 @@ view logs.")
|
|||
such as Kubernetes (or OpenShift).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public helm-kubernetes
|
||||
(define-public helm
|
||||
(package
|
||||
(name "helm-kubernetes")
|
||||
(version "3.15.4")
|
||||
(name "helm")
|
||||
(version "3.12.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://get.helm.sh/helm-v" version "-linux-amd64.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1afgf08z6hgy07kjk8fj7xkr8ma4qk2f1r33901nzz87zkn0yh0i"))))
|
||||
"1d99c506shnz5cr9xhkrla5r82nan7v3hz631jqflicd376i68qv"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -165,8 +165,8 @@ such as Kubernetes (or OpenShift).")
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(invoke "tar" "-xvf" source)))
|
||||
(lambda _
|
||||
(invoke "tar" "-xvf" #$source)))
|
||||
(add-before 'install 'chmod
|
||||
(lambda _
|
||||
(chmod "linux-amd64/helm" #o555))))))
|
||||
|
@ -181,13 +181,13 @@ define, install, and upgrade Kubernetes applications.")
|
|||
(define-public kind
|
||||
(package
|
||||
(name "kind")
|
||||
(version "0.24.0")
|
||||
(version "0.20.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://kind.sigs.k8s.io/dl/v" version "/kind-linux-amd64"))
|
||||
(sha256
|
||||
(base32
|
||||
"03b0idcb11knqyx2ryakvlkqk1cdyavkar6izjihsqlxlfjsv6mq"))))
|
||||
"1v9x953a5n0l3kz78wm29yh11vz56nmlvhi7xzcjscyksq9p4fji"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -197,8 +197,8 @@ define, install, and upgrade Kubernetes applications.")
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(copy-file source "./kind")
|
||||
(lambda _
|
||||
(copy-file #$source "./kind")
|
||||
(chmod "kind" #o644)))
|
||||
(add-before 'install 'chmod
|
||||
(lambda _
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
;;; Copyright © 2020, 2021 James Smith <jsubuntuxp@disroot.org>
|
||||
;;; Copyright © 2020-2025 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2020, 2021, 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020, 2021, 2022 Zhu Zihao <all_but_last@163.com>
|
||||
|
@ -13,7 +13,7 @@
|
|||
;;; Copyright © 2021 Risto Stevcev <me@risto.codes>
|
||||
;;; Copyright © 2021 aerique <aerique@xs4all.nl>
|
||||
;;; 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 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
|
||||
|
@ -23,20 +23,13 @@
|
|||
;;; Copyright © 2023 Jelle Licht <jlicht@fsfe.org>
|
||||
;;; Copyright © 2023 Adam Kandur <rndd@tuta.io>
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Ada Stevenson <adanskana@gmail.com>
|
||||
;;; Copyright © 2023 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2023 PRESFIL <presfil@protonmail.com>
|
||||
;;; Copyright © 2024, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
|
||||
(define-module (nongnu packages linux)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (nongnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpio)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
|
@ -52,48 +45,22 @@
|
|||
#:use-module (srfi srfi-1)
|
||||
#:export (corrupt-linux))
|
||||
|
||||
(define %default-extra-linux-options
|
||||
(@@ (gnu packages linux) %default-extra-linux-options))
|
||||
|
||||
(define config->string
|
||||
(@@ (gnu packages linux) config->string))
|
||||
|
||||
(define (linux-url version)
|
||||
"Return a URL for Linux VERSION."
|
||||
(string-append "mirror://kernel.org"
|
||||
"/linux/kernel/v" (version-major version) ".x"
|
||||
"/linux-" version ".tar.xz"))
|
||||
|
||||
;;; If you are corrupting the kernel on your own, consider using output of
|
||||
;;; this procedure as a base for your options:
|
||||
;;; (corrupt-linux linux-libre-lts
|
||||
;;; #:configs (cons* "CONFIG_FOO=y"
|
||||
;;; (nonguix-extra-linux-options linux-libre-lts)
|
||||
(define-public (nonguix-extra-linux-options linux-or-version)
|
||||
"Return a list containing additional options that nonguix sets by default
|
||||
for a corrupted linux package of specified version. linux-or-version can be
|
||||
some freedo package or an output of package-version procedure."
|
||||
(define linux-version
|
||||
(if (package? linux-or-version)
|
||||
(package-version linux-or-version)
|
||||
linux-or-version))
|
||||
|
||||
(reverse (fold (lambda (opt opts)
|
||||
(if (version>=? linux-version (car opt))
|
||||
(cons* (cdr opt) opts)
|
||||
opts))
|
||||
'()
|
||||
;; List of additional options for nonguix corrupted linux.
|
||||
;; Each member is a pair of a minimal version (>=) and the
|
||||
;; option itself. Option has to be in a format suitable for
|
||||
;; (@ (guix build kconfig) modify-defconfig) procedure.
|
||||
;;
|
||||
;; Do note that this list is intended for enabling use of
|
||||
;; hardware requiring non-free firmware. If a configuration
|
||||
;; option does work under linux-libre, it should go into Guix
|
||||
;; actual.
|
||||
'(
|
||||
;; Driver for MediaTek mt7921e wireless chipset
|
||||
("5.15" . "CONFIG_MT7921E=m")))))
|
||||
|
||||
(define* (corrupt-linux freedo
|
||||
#:key
|
||||
(name "linux")
|
||||
(configs (nonguix-extra-linux-options freedo))
|
||||
(configs '())
|
||||
(defconfig #f))
|
||||
|
||||
;; TODO: This very directly depends on guix internals.
|
||||
|
@ -122,7 +89,6 @@ some freedo package or an output of package-version procedure."
|
|||
(inherit
|
||||
(customize-linux
|
||||
#:name name
|
||||
#:linux freedo
|
||||
#:source (origin
|
||||
(method url-fetch)
|
||||
(uri url)
|
||||
|
@ -136,14 +102,11 @@ some freedo package or an output of package-version procedure."
|
|||
"The unmodified Linux kernel, including nonfree blobs, for running Guix System
|
||||
on hardware which requires nonfree software to function."))))
|
||||
|
||||
(define-public linux-6.13
|
||||
(corrupt-linux linux-libre-6.13))
|
||||
(define-public linux-6.5
|
||||
(corrupt-linux linux-libre-6.5))
|
||||
|
||||
(define-public linux-6.12
|
||||
(corrupt-linux linux-libre-6.12))
|
||||
|
||||
(define-public linux-6.6
|
||||
(corrupt-linux linux-libre-6.6))
|
||||
(define-public linux-6.4
|
||||
(corrupt-linux linux-libre-6.4))
|
||||
|
||||
(define-public linux-6.1
|
||||
(corrupt-linux linux-libre-6.1))
|
||||
|
@ -157,9 +120,15 @@ on hardware which requires nonfree software to function."))))
|
|||
(define-public linux-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-4.14
|
||||
(corrupt-linux linux-libre-4.14))
|
||||
|
||||
(define-public linux linux-6.4)
|
||||
;; 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
|
||||
(corrupt-linux linux-libre-arm64-generic-5.10 #:name "linux-arm64-generic"))
|
||||
|
@ -175,79 +144,41 @@ on hardware which requires nonfree software to function."))))
|
|||
;;; Linux-XanMod
|
||||
;;;
|
||||
|
||||
(define* (make-linux-xanmod-source version xanmod-revision
|
||||
#:key xanmod-branch kernel-hash xanmod-hash)
|
||||
|
||||
(define %upstream-linux-source
|
||||
(@@ (gnu packages linux) %upstream-linux-source))
|
||||
|
||||
(define kernel-source
|
||||
(%upstream-linux-source (version-major+minor version) kernel-hash))
|
||||
|
||||
(define xanmod-patch
|
||||
(define (make-linux-xanmod-source version xanmod-revision hash-string)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/xanmod/releases/" xanmod-branch "/"
|
||||
version "-" xanmod-revision "/patch-"
|
||||
version "-" xanmod-revision ".xz"))
|
||||
(sha256 xanmod-hash)))
|
||||
|
||||
(origin
|
||||
(inherit kernel-source)
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(let* ((xz-name (basename #+xanmod-patch))
|
||||
(patch-xz-name (string-append (string-drop-right xz-name 3)
|
||||
".patch.xz"))
|
||||
(patch-name (string-drop-right patch-xz-name 3)))
|
||||
(copy-file #+xanmod-patch patch-xz-name)
|
||||
(invoke #+(file-append xz "/bin/unxz") patch-xz-name)
|
||||
(invoke #+(file-append patch "/bin/patch")
|
||||
"--force" "--no-backup-if-mismatch"
|
||||
#+@(origin-patch-flags kernel-source)
|
||||
"--input" patch-name)
|
||||
(for-each delete-file
|
||||
(list patch-name
|
||||
;; EXTRAVERSION is used instead.
|
||||
"localversion")))))))
|
||||
(uri (string-append "https://gitlab.com/xanmod/linux/-/archive/"
|
||||
version "-" xanmod-revision ".tar.bz2"))
|
||||
(sha256 hash-string)))
|
||||
|
||||
(define* (make-linux-xanmod version xanmod-revision source
|
||||
#:key
|
||||
(name "linux-xanmod")
|
||||
(xanmod-defconfig "config_x86-64-v1"))
|
||||
|
||||
(define %default-extra-linux-options
|
||||
((@@ (gnu packages linux) default-extra-linux-options) version))
|
||||
|
||||
(define config->string
|
||||
(@@ (gnu packages linux) config->string))
|
||||
|
||||
(define base-kernel
|
||||
(customize-linux
|
||||
#:name name
|
||||
(let ((defconfig xanmod-defconfig) ;to be used in phases.
|
||||
(base (customize-linux #:name name
|
||||
#:source source
|
||||
#:defconfig xanmod-defconfig
|
||||
;; EXTRAVERSION is used instead.
|
||||
#:configs (config->string
|
||||
'(("CONFIG_LOCALVERSION" . "")))
|
||||
#:extra-version xanmod-revision))
|
||||
|
||||
#:extra-version xanmod-revision)))
|
||||
(package
|
||||
(inherit base-kernel)
|
||||
(inherit base)
|
||||
(version version)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base-kernel)
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
;; Since `customize-linux' replaces the configure phase, we add
|
||||
;; XanMod defconfig beforehand to ensure compatibility of the
|
||||
;; resulting package with `customize-linux'.
|
||||
;; EXTRAVERSION is used instead.
|
||||
(add-after 'unpack 'remove-localversion
|
||||
(lambda _
|
||||
(when (file-exists? "localversion")
|
||||
(delete-file "localversion"))))
|
||||
(add-before 'configure 'add-xanmod-defconfig
|
||||
(lambda _
|
||||
(rename-file
|
||||
(string-append "CONFIGS/xanmod/gcc/" #$xanmod-defconfig)
|
||||
(string-append "CONFIGS/xanmod/gcc/" #$defconfig)
|
||||
".config")
|
||||
|
||||
;; Adapted from `make-linux-libre*'.
|
||||
|
@ -255,49 +186,47 @@ on hardware which requires nonfree software to function."))))
|
|||
(let ((port (open-file ".config" "a"))
|
||||
(extra-configuration
|
||||
#$(config->string
|
||||
(append %default-extra-linux-options
|
||||
;; NOTE: These are configs expected by Guix
|
||||
;; but missing from XanMod defconfig.
|
||||
'(("CONFIG_BLK_DEV_NVME" . #t))))))
|
||||
;; FIXME: There might be other support missing.
|
||||
(append '(("CONFIG_BLK_DEV_NVME" . #t)
|
||||
("CONFIG_CRYPTO_XTS" . m)
|
||||
("CONFIG_VIRTIO_CONSOLE" . m))
|
||||
%default-extra-linux-options))))
|
||||
(display extra-configuration port)
|
||||
(close-port port))
|
||||
(invoke "make" "oldconfig")
|
||||
|
||||
(rename-file
|
||||
".config"
|
||||
(string-append "arch/x86/configs/" #$xanmod-defconfig))))))))
|
||||
(string-append "arch/x86/configs/" #$defconfig))))))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs base-kernel)
|
||||
(modify-inputs (package-native-inputs base)
|
||||
;; cpio is needed for CONFIG_IKHEADERS.
|
||||
(prepend cpio zstd)))
|
||||
(append cpio zstd)))
|
||||
(home-page "https://xanmod.org/")
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(synopsis "Linux kernel distribution with custom settings and new features")
|
||||
(synopsis
|
||||
"Linux kernel distribution with custom settings and new features")
|
||||
(description
|
||||
"This package provides XanMod kernel, a general-purpose Linux kernel
|
||||
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
|
||||
(define-public linux-xanmod-version "6.12.13")
|
||||
(define-public linux-xanmod-version "6.4.3")
|
||||
(define-public linux-xanmod-revision "xanmod1")
|
||||
(define-public linux-xanmod-source
|
||||
(make-linux-xanmod-source
|
||||
linux-xanmod-version
|
||||
linux-xanmod-revision
|
||||
#:xanmod-branch "main"
|
||||
#:kernel-hash (base32 "1sr58vsh39hdwk0z27lg14isqwn4g8m4r7a8z2rsyhkfwlmmd8mi")
|
||||
#:xanmod-hash (base32 "18a7hbm7gvf6b7wr84rszmpl1yb3mdgj2plv5627mv09dn87lvz2")))
|
||||
(base32 "0z6f7lnwbw2y7wwfr253d6gg4kz0l62s71pj266hb9c0dj15xl0r")))
|
||||
|
||||
(define-public linux-xanmod-lts-version "6.6.72")
|
||||
(define-public linux-xanmod-lts-version "6.1.38")
|
||||
(define-public linux-xanmod-lts-revision "xanmod1")
|
||||
(define-public linux-xanmod-lts-source
|
||||
(make-linux-xanmod-source
|
||||
linux-xanmod-lts-version
|
||||
linux-xanmod-lts-revision
|
||||
#:xanmod-branch "lts"
|
||||
#:kernel-hash (base32 "1l2nisx9lf2vdgkq910n5ldbi8z25ky1zvl67zgwg2nxcdna09nr")
|
||||
#:xanmod-hash (base32 "119jvwmxpjfpifg7mhqirjc1g1q769584hv2xc8wyg2iklhhs653")))
|
||||
(base32 "0c56jmvzzn8jakxffifnrj6pixywrlcwq6sxriylqxfq96bb8can")))
|
||||
|
||||
;; Linux-XanMod packages
|
||||
(define-public linux-xanmod
|
||||
|
@ -318,44 +247,21 @@ stable, responsive and smooth desktop experience.")))
|
|||
(define-public linux-firmware
|
||||
(package
|
||||
(name "linux-firmware")
|
||||
(version "20250211")
|
||||
(version "20230919")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
|
||||
"linux-firmware-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z998nxplnc22nbj3yzdyjjs433p92rzvq2x5i9rv0xzjxc39q9d"))))
|
||||
"1bc4y0w2xa9r3wb7bprdmy6vqj7swxbc9p542zhc9bxx086xmylp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f
|
||||
#:strip-binaries? #f
|
||||
#:validate-runpath? #f
|
||||
#:make-flags #~(list (string-append "DESTDIR=" #$output))
|
||||
`(#:tests? #f
|
||||
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-out-check_whence.py
|
||||
(lambda _
|
||||
;; 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))
|
||||
(modify-phases %standard-phases
|
||||
(delete 'validate-runpath))))
|
||||
(home-page
|
||||
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git")
|
||||
(synopsis "Nonfree firmware blobs for Linux")
|
||||
|
@ -369,23 +275,23 @@ if your hardware is supported by one of the smaller firmware packages.")
|
|||
|
||||
(define (select-firmware keep)
|
||||
"Modify linux-firmware copy list to retain only files matching KEEP regex."
|
||||
#~(lambda _
|
||||
`(lambda _
|
||||
(use-modules (ice-9 regex))
|
||||
(substitute* "WHENCE"
|
||||
(("^(File|RawFile|Link): *([^ ]*)(.*)" _ type file rest)
|
||||
(string-append (if (string-match #$keep file) type "Skip") ": " file rest)))))
|
||||
(("^(File|Link): *([^ ]*)(.*)" _ type file rest)
|
||||
(string-append (if (string-match ,keep file) type "Skip") ": " file rest)))))
|
||||
|
||||
(define-public amdgpu-firmware
|
||||
(package
|
||||
(inherit linux-firmware)
|
||||
(name "amdgpu-firmware")
|
||||
(arguments
|
||||
(cons* #:license-file-regexp "LICENSE.amdgpu"
|
||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
`(#:license-file-regexp "LICENSE.amdgpu"
|
||||
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'select-firmware
|
||||
#$(select-firmware "^amdgpu/")))))))
|
||||
,(select-firmware "^amdgpu/")))))))
|
||||
(home-page "http://support.amd.com/en-us/download/linux")
|
||||
(synopsis "Nonfree firmware for AMD graphics chips")
|
||||
(description "Nonfree firmware for AMD graphics chips. While most AMD
|
||||
|
@ -403,12 +309,12 @@ advanced 3D.")
|
|||
(inherit amdgpu-firmware)
|
||||
(name "radeon-firmware")
|
||||
(arguments
|
||||
(cons* #:license-file-regexp "LICENSE.radeon"
|
||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
`(#:license-file-regexp "LICENSE.radeon"
|
||||
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'select-firmware
|
||||
#$(select-firmware "^radeon/")))))))
|
||||
,(select-firmware "^radeon/")))))))
|
||||
(synopsis "Nonfree firmware for older AMD graphics chips")
|
||||
(description "Nonfree firmware for AMD graphics chips. While most AMD
|
||||
graphics cards can be run with the free Mesa, some cards require a nonfree
|
||||
|
@ -460,12 +366,12 @@ and modules, userspace libraries, and bootloader/GPU firmware.")
|
|||
(inherit linux-firmware)
|
||||
(name "atheros-firmware")
|
||||
(arguments
|
||||
(cons* #:license-file-regexp "LICEN[CS]E.*[Aa]th"
|
||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
`(#:license-file-regexp "LICEN[CS]E.*[Aa]th"
|
||||
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(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")
|
||||
(description "Nonfree firmware blobs for Atheros wireless cards. This
|
||||
package contains nonfree firmware for the following chips:
|
||||
|
@ -636,12 +542,12 @@ WLAN.TF.2.1-00021-QCARMSWP-1 (ath10k/QCA9377/hw1.0/firmware-6.bin)
|
|||
(inherit linux-firmware)
|
||||
(name "ibt-hw-firmware")
|
||||
(arguments
|
||||
(cons* #:license-file-regexp "LICENCE.ibt_firmware"
|
||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
`(#:license-file-regexp "LICENCE.ibt_firmware"
|
||||
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(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")
|
||||
(synopsis "Non-free firmware for Intel bluetooth chips")
|
||||
(description "This firmware is required by the btintel kernel module to
|
||||
|
@ -657,12 +563,12 @@ laptops).")
|
|||
(inherit linux-firmware)
|
||||
(name "iwlwifi-firmware")
|
||||
(arguments
|
||||
(cons* #:license-file-regexp "LICENCE.iwlwifi_firmware"
|
||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
`(#:license-file-regexp "LICENCE.iwlwifi_firmware"
|
||||
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'select-firmware
|
||||
#$(select-firmware "^iwlwifi-")))))))
|
||||
,(select-firmware "^iwlwifi-")))))))
|
||||
(home-page "https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi")
|
||||
(synopsis "Nonfree firmware for Intel wifi chips")
|
||||
(description "The proprietary iwlwifi kernel module is required by many
|
||||
|
@ -678,12 +584,12 @@ support for 5GHz and 802.11ac, among others.")
|
|||
(inherit linux-firmware)
|
||||
(name "i915-firmware")
|
||||
(arguments
|
||||
(cons* #:license-file-regexp "LICENCE.i915"
|
||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
`(#:license-file-regexp "LICENCE.i915"
|
||||
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'select-firmware
|
||||
#$(select-firmware "^i915/")))))))
|
||||
,(select-firmware "^i915/")))))))
|
||||
(home-page "https://01.org/linuxgraphics/gfx-docs/drm/gpu/i915.html")
|
||||
(synopsis "Nonfree firmware for Intel integrated graphics")
|
||||
(description "This package contains the various firmware for Intel
|
||||
|
@ -693,124 +599,18 @@ integrated graphics chipsets, including GuC, HuC and DMC.")
|
|||
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware"
|
||||
"/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
|
||||
(package
|
||||
(inherit linux-firmware)
|
||||
(name "realtek-firmware")
|
||||
(arguments
|
||||
(cons* #:license-file-regexp "LICENCE.rtlwifi_firmware.txt"
|
||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
`(#:license-file-regexp "LICENCE.rtlwifi_firmware.txt"
|
||||
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(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")
|
||||
(synopsis "Nonfree firmware for Realtek ethernet, wifi, and bluetooth chips")
|
||||
(description
|
||||
|
@ -900,8 +700,8 @@ package contains nonfree firmware for the following chips:
|
|||
(deprecated-package "rtl-bt-firmware" realtek-firmware))
|
||||
|
||||
(define-public rtl8192eu-linux-module
|
||||
(let ((commit "3af9a868a0ca622d830966ac83aea2bf17cd0d65")
|
||||
(revision "7"))
|
||||
(let ((commit "865656c3a1d1aee8c4ba459ce7608756d17c712f")
|
||||
(revision "5"))
|
||||
(package
|
||||
(name "rtl8192eu-linux-module")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -914,7 +714,7 @@ package contains nonfree firmware for the following chips:
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d2qzf7xbipjdp1zm2ffqhnda8wasqriqnv6dkl0mhqn2f8za3i8"))))
|
||||
"08nq0wlrpzm8n2g14c4jlxs0crr6s5ls1n14bc17zmpy9vlarhfx"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
|
@ -937,8 +737,8 @@ network adapters.")
|
|||
(license gpl2))))
|
||||
|
||||
(define-public rtl8821ce-linux-module
|
||||
(let ((commit "f119398d868b1a3395f40c1df2e08b57b2c882cd")
|
||||
(revision "12"))
|
||||
(let ((commit "a478095a45d8aa957b45be4f9173c414efcacc6f")
|
||||
(revision "10"))
|
||||
(package
|
||||
(name "rtl8821ce-linux-module")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -951,7 +751,7 @@ network adapters.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03336fzhcyfkxa32rx0calzlyzamvinql5f19wwm61aijrmlmyhi"))))
|
||||
"00cn87jjrcxjqr3n8jv4w3n64zksmzz05fdr1gdvnbx1ab5739f6"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
|
@ -979,63 +779,9 @@ network adapters.")
|
|||
;; hal/rtl8821c/hal8821c_fw.c
|
||||
(license gpl2))))
|
||||
|
||||
(define-public rtl8821cu-linux-module
|
||||
(let ((commit "4f6004af4c4171882f37e2e5d8fb3609fe260617")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "rtl8821cu-linux-module")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/morrownr/8821cu-20210916")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "09ig0rrkkn00i3d1n6p62n1610kcjgb2h9kbcqdsrmpnlnw5kfl2"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags #~(list (string-append "CC="
|
||||
#$(cc-for-target))
|
||||
(string-append "KSRC="
|
||||
(assoc-ref %build-inputs
|
||||
"linux-module-builder")
|
||||
"/lib/modules/build"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key (make-flags '())
|
||||
(parallel-build? #t) #:allow-other-keys)
|
||||
(apply invoke "make"
|
||||
`(,@(if parallel-build?
|
||||
`("-j" ,(number->string (parallel-job-count)))
|
||||
'()) ,@make-flags)))))
|
||||
#:tests? #f))
|
||||
(home-page "https://github.com/morrownr/8821cu-20210916")
|
||||
(synopsis "Linux driver for Realtek USB WiFi adapters")
|
||||
(description
|
||||
"Linux driver for USB WiFi adapters that are based on the
|
||||
Realtek RTL8811CU, RTL8821CU, RTL8821CUH and RTL8731AU chipsets.
|
||||
|
||||
To work, in addition to installing the driver, you need
|
||||
to disable the conflicting rtw88 driver:
|
||||
|
||||
@example
|
||||
(operating-system
|
||||
;; ...
|
||||
;; Blacklist conflicting kernel modules.
|
||||
(kernel-arguments '(\"modprobe.blacklist=rtw88_8821cu\"))
|
||||
(kernel-loadable-modules (list rtl8821cu-linux-module)))
|
||||
@end example")
|
||||
;; Rejected by Guix beause it contains a binary blob in:
|
||||
;; hal/rtl8821c/hal8821c_fw.c
|
||||
(license (nonfree
|
||||
"https://github.com/morrownr/8821cu-20210916/blob/main/LICENSE")))))
|
||||
|
||||
(define-public rtl8812au-aircrack-ng-linux-module
|
||||
(let ((commit "63cf0b4584aa8878b0fe8ab38017f31c319bde3d")
|
||||
(revision "13"))
|
||||
(let ((commit "35308f4dd73e77fa572c48867cce737449dd8548")
|
||||
(revision "11"))
|
||||
(package
|
||||
(inherit rtl8821ce-linux-module)
|
||||
(name "rtl8812au-aircrack-ng-linux-module")
|
||||
|
@ -1048,7 +794,7 @@ to disable the conflicting rtw88 driver:
|
|||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "103pn6qlj116dm244ygf1wic9dq2qn80lafiyxynyhpckkyhhfxl"))
|
||||
(base32 "1clqrgmq5fhzybbiapmdbhg5qfx9k21r0hqa9pqmyinaqhvfnhfj"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
@ -1072,7 +818,7 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.")
|
|||
(define-public r8168-linux-module
|
||||
(package
|
||||
(name "r8168-linux-module")
|
||||
(version "8.052.01")
|
||||
(version "8.051.02")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1081,9 +827,19 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01mi7hh92nc7jaxkfrpz7j0ci78djrhgmq0im4k1270mwmvr0yzj"))))
|
||||
"16mpr0np6xbmzdnwg4p3q6yli2gh032k98g4vplya33hrn50vh52"))))
|
||||
(arguments
|
||||
(list #:tests? #f))
|
||||
(list #:tests? #f
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-src-directory
|
||||
(lambda _
|
||||
(chdir "src")))
|
||||
;; Needed to compile module for linux >= 6.1
|
||||
(add-before 'build 'fix-build
|
||||
(lambda _
|
||||
(substitute* "r8168.h"
|
||||
(("netif_napi_add\\(ndev, &priv->napi, function, weight\\)")
|
||||
"netif_napi_add(ndev, &priv->napi, function)")))))))
|
||||
(build-system linux-module-build-system)
|
||||
(home-page "https://github.com/mtorromeo/r8168")
|
||||
(synopsis "Linux driver for Realtek PCIe network adapters")
|
||||
|
@ -1097,9 +853,9 @@ giving you trouble, you can try this module.")
|
|||
(define (broadcom-sta-patch name commit hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://raw.githubusercontent.com/rpmfusion/wl-kmod/"
|
||||
(uri (string-append "https://raw.githubusercontent.com/NixOS/nixpkgs/"
|
||||
commit
|
||||
"wl-kmod-"
|
||||
"/pkgs/os-specific/linux/broadcom-sta/"
|
||||
name
|
||||
".patch"))
|
||||
(sha256
|
||||
|
@ -1114,12 +870,12 @@ giving you trouble, you can try this module.")
|
|||
(string-replace-substring broadcom-sta-version "." "_")
|
||||
".tar.gz"))
|
||||
(patches
|
||||
;; Keep these in sync with the patches at
|
||||
;; https://github.com/rpmfusion/wl-kmod
|
||||
;; They seem to be good about keeping broadcom patches up to date so updating
|
||||
;; Keep these in sync with the list at
|
||||
;; https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/broadcom-sta.
|
||||
;; 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
|
||||
;; the newest available and adding any new patches.
|
||||
(let ((commit "cb67598cbf5d8c5260b750d6f7e5c6a6599b7b85"))
|
||||
(let ((commit "355042e2ff5933b245e804c5eaff4ec3f340e71b"))
|
||||
(list
|
||||
(broadcom-sta-patch "i686-build-failure" commit "1522w2gb698svlkb2b4lijbd740agvs2ibpz4g0jlv8v31cybkf4")
|
||||
(broadcom-sta-patch "license" commit "0rwlhafcmpp97cknqwv8gwf8sbxgqavgci1ywfkdxiylh4mhcvhr")
|
||||
|
@ -1137,9 +893,7 @@ giving you trouble, you can try this module.")
|
|||
(broadcom-sta-patch "linux-6.1" commit "1pvx1h7iimcbfqdc13n1980ngxk9q6iyip8svn293x4h7jn472kf")
|
||||
(broadcom-sta-patch "pedantic-fix" commit "1kxmw1iyxnfwad75h981sak5qk16p81xy1f2qxss2d0v97vkfkl5")
|
||||
(broadcom-sta-patch "null-pointer-fix" commit "15c2vxgf7v5wy4s8w9jk7irf3fxxghy05gxmav1ss73a2azajdx7")
|
||||
(broadcom-sta-patch "gcc" commit "0jcqk2vapyy2pbsjv9n8b3qp6vqz17d6s07cr04cx7075q7yhz5h")
|
||||
(broadcom-sta-patch "028_kernel_6.12_adaption" commit
|
||||
"154dhlb3vyq8bnx7f371scsrhp9cszvmqlswqg5vi6gfgbqnrq08"))))
|
||||
(broadcom-sta-patch "gcc" commit "0jcqk2vapyy2pbsjv9n8b3qp6vqz17d6s07cr04cx7075q7yhz5h"))))
|
||||
(sha256
|
||||
(base32
|
||||
"1gj485qqr190idilacpxwgqyw21il03zph2rddizgj7fbd6pfyaz"))))
|
||||
|
@ -1284,7 +1038,7 @@ chipsets from Broadcom:
|
|||
(define-public facetimehd
|
||||
(package
|
||||
(name "facetimehd")
|
||||
(version "0.6.8.2")
|
||||
(version "0.5.18")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1294,7 +1048,7 @@ chipsets from Broadcom:
|
|||
(file-name (git-file-name "facetimehd" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mk9zw100258khc3510jzgm8rci3l26ad0lx4fcqrd8ksq8k03kp"))))
|
||||
"1598pzjnbij3knvqmk2yslj26wmqiqjqgqgcw9p9jx6z7bdjvvsh"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f))
|
||||
|
@ -1318,7 +1072,7 @@ driver:
|
|||
(define-public intel-microcode
|
||||
(package
|
||||
(name "intel-microcode")
|
||||
(version "20241112")
|
||||
(version "20230808")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1329,7 +1083,7 @@ driver:
|
|||
(commit (string-append "microcode-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1i2pfw1vfnws76dpdik5x9kn3rysq8ggb4c16c2lmxzz4phyvxbn"))))
|
||||
(base32 "1n0w6q46xag7a9iddl3v1gh1rzv9h6kiyy739ac6vg3v8lazh9n7"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list #:install-plan
|
||||
|
@ -1353,12 +1107,12 @@ your CPU.")
|
|||
(inherit linux-firmware)
|
||||
(name "amd-microcode")
|
||||
(arguments
|
||||
(cons* #:license-file-regexp "LICENSE.amd-ucode"
|
||||
(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
`(#:license-file-regexp "LICENSE.amd-ucode"
|
||||
,@(substitute-keyword-arguments (package-arguments linux-firmware)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'select-firmware
|
||||
#$(select-firmware "^amd-ucode/")))))))
|
||||
,(select-firmware "^amd-ucode/")))))))
|
||||
(synopsis "Processor microcode firmware for AMD CPUs")
|
||||
(description "Updated system processor microcode for AMD x86-64
|
||||
processors. AMD releases microcode updates to correct processor behavior as
|
||||
|
@ -1371,23 +1125,20 @@ documented in the respective processor revision guides.")
|
|||
(define-public sof-firmware
|
||||
(package
|
||||
(name "sof-firmware")
|
||||
(version "2024.09")
|
||||
(version "2.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(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
|
||||
(base32
|
||||
"0866rg40gzlal90ykgs0x622vy3qrw1s3g0qfv80i41mh6gxjiza"))))
|
||||
"0hnvzbjgib8f0m2gw345vk0p4h9ba34g7vciih1jgcz2y5kgs7sr"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:install-plan
|
||||
'(("sof" "lib/firmware/intel/sof")
|
||||
("sof-ace-tplg" "lib/firmware/intel/sof-ace-tplg")
|
||||
("sof-ipc4" "lib/firmware/intel/sof-ipc4")
|
||||
("sof-ipc4-tplg" "lib/firmware/intel/sof-ipc4-tplg")
|
||||
("sof-tplg" "lib/firmware/intel/sof-tplg"))))
|
||||
(list (list (string-append "sof-v" ,version) "lib/firmware/intel/sof")
|
||||
(list (string-append "sof-tplg-v" ,version) "lib/firmware/intel/sof-tplg"))))
|
||||
(home-page "https://www.sofproject.org")
|
||||
(synopsis "Sound Open Firmware")
|
||||
(description "This package contains Linux firmwares and topology files for
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; 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)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages lisp)
|
||||
#:use-module (gnu packages lisp-xyz)
|
||||
;; #:use-module (gnu packages lisp-check)
|
||||
#:use-module (nongnu packages electron)
|
||||
#:use-module (guix build-system copy)
|
||||
#: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"))))
|
||||
|
||||
(define-public sbcl-cl-electron
|
||||
(let ((commit "f2245dc1450a6ad416984cf932be50e00957390a")
|
||||
(revision "3"))
|
||||
(let ((commit "ec8e3610be26d2d7312fab7d59d840e550b221f2")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "sbcl-cl-electron")
|
||||
(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)))
|
||||
(file-name (git-file-name "cl-electron" version))
|
||||
(sha256
|
||||
(base32 "0c18xbwwnjaiwzd01dprdrwzp27nwihaf7pmkql1f5yk43x3ajs0"))))
|
||||
(base32 "0bmnh0xl5pvjv4pdb4a37x87zlyzr5fy7cyaws69p4p4rgzszzv8"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs (list electron
|
||||
sbcl-cl-json sbcl-iolib sbcl-cl-str sbcl-nclasses
|
||||
sbcl-cl-ppcre sbcl-bordeaux-threads sbcl-lparallel
|
||||
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\""))))))))
|
||||
(native-inputs (list ;; sbcl-lisp-unit2
|
||||
sbcl))
|
||||
(inputs (list electron node
|
||||
sbcl-cl-json sbcl-iolib sbcl-nclasses
|
||||
sbcl-parenscript sbcl-bordeaux-threads))
|
||||
(synopsis "Common Lisp interface to Electron")
|
||||
(home-page "https://github.com/atlas-engineer/cl-electron")
|
||||
(description "@command{cl-electron} is a binding to Electron for
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2021, 2022 PantherX OS Team <team@pantherx.org>
|
||||
;;; Copyright © 2022, 2023, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022 Evgenii Lepikhin <johnlepikhin@gmail.com>
|
||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.org>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
|
||||
(define-module (nongnu packages messaging)
|
||||
#:use-module (gnu packages base)
|
||||
|
@ -37,7 +36,7 @@
|
|||
(define-public element-desktop
|
||||
(package
|
||||
(name "element-desktop")
|
||||
(version "1.11.89")
|
||||
(version "1.11.41")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -46,31 +45,47 @@
|
|||
"https://packages.riot.im/debian/pool/main/e/" name "/" name "_" version
|
||||
"_amd64.deb"))
|
||||
(sha256
|
||||
(base32 "0riavl8qq59s45xxdk0s1n6i1wymsx1zfdz5dp3ccr8xpzw77abq"))))
|
||||
(base32 "1m07b1ykmxly16irca171z4f718as7hqsccp1q7qrqj9b5lkmv64"))))
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||
#:wrapper-plan
|
||||
#~'(("lib/Element/element-desktop" (("out" "/lib/Element"))))
|
||||
#~'("lib/Element/element-desktop")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'setup-cwd
|
||||
(replace 'unpack
|
||||
(lambda _
|
||||
(invoke "ar" "x" #$source)
|
||||
(invoke "tar" "xvf" "data.tar.xz")
|
||||
(copy-recursively "usr/" ".")
|
||||
;; Use the more standard lib directory for everything.
|
||||
(rename-file "opt/" "lib")
|
||||
;; Remove unneeded files.
|
||||
(delete-file-recursively "usr")
|
||||
(delete-file "control.tar.gz")
|
||||
(delete-file "data.tar.xz")
|
||||
(delete-file "debian-binary")
|
||||
;; Fix the .desktop file binary location.
|
||||
(substitute* '("share/applications/element-desktop.desktop")
|
||||
(("/opt/Element/")
|
||||
(string-append #$output "/bin/")))))
|
||||
(add-after 'install 'symlink-binary-file
|
||||
(add-after 'install 'symlink-binary-file-and-cleanup
|
||||
(lambda _
|
||||
(delete-file (string-append #$output "/environment-variables"))
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(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"))
|
||||
":")))))))))
|
||||
|
||||
(native-inputs (list tar))
|
||||
(home-page "https://github.com/vector-im/element-desktop")
|
||||
(synopsis "Matrix collaboration client for desktop")
|
||||
(description "Element Desktop is a Matrix client for desktop with Element Web at
|
||||
|
@ -83,7 +98,7 @@ its core.")
|
|||
(define-public signal-desktop
|
||||
(package
|
||||
(name "signal-desktop")
|
||||
(version "7.41.0")
|
||||
(version "6.30.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -92,31 +107,47 @@ its core.")
|
|||
"https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version
|
||||
"_amd64.deb"))
|
||||
(sha256
|
||||
(base32 "1ainlhhzf427f0jqdh83m8519ywihnxyiw505n4msgyhpwgwj5n0"))))
|
||||
(base32 "1kxxb6s7h2llksmqrjbk9nhp55r0v7573h3qz44ssb2kx8xxwgdb"))))
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||
#:wrapper-plan
|
||||
#~'(("lib/Signal/signal-desktop" (("out" "/lib/Signal"))))
|
||||
#~'("lib/Signal/signal-desktop")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'setup-cwd
|
||||
(replace 'unpack
|
||||
(lambda _
|
||||
(invoke "ar" "x" #$source)
|
||||
(invoke "tar" "xvf" "data.tar.xz")
|
||||
(copy-recursively "usr/" ".")
|
||||
;; Use the more standard lib directory for everything.
|
||||
(rename-file "opt/" "lib")
|
||||
;; Remove unneeded files.
|
||||
(delete-file-recursively "usr")
|
||||
(delete-file "control.tar.gz")
|
||||
(delete-file "data.tar.xz")
|
||||
(delete-file "debian-binary")
|
||||
(delete-file "environment-variables")
|
||||
;; Fix the .desktop file binary location.
|
||||
(substitute* '("share/applications/signal-desktop.desktop")
|
||||
(("/opt/Signal/")
|
||||
(string-append #$output "/bin/")))))
|
||||
(add-after 'install 'symlink-binary-file
|
||||
(add-after 'install 'symlink-binary-file-and-cleanup
|
||||
(lambda _
|
||||
(delete-file (string-append #$output "/environment-variables"))
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(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"))
|
||||
":")))))))))
|
||||
(native-inputs (list tar))
|
||||
(home-page "https://signal.org/")
|
||||
(synopsis "Private messenger using the Signal protocol")
|
||||
(description "Signal Desktop is an Electron application that links with Signal on Android
|
||||
|
@ -129,14 +160,14 @@ or iOS.")
|
|||
(define-public zoom
|
||||
(package
|
||||
(name "zoom")
|
||||
(version "5.17.5.2543")
|
||||
(version "5.15.12.7665")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://cdn.zoom.us/prod/" version "/zoom_x86_64.tar.xz"))
|
||||
(file-name (string-append name "-" version "-x86_64.tar.xz"))
|
||||
(sha256
|
||||
(base32 "06m53d3jrpiq1z5wd7m61lb3w8m8g72iaqx5sixnzn290gyyzgim"))))
|
||||
(base32 "1pmxgfafwlxnrcw1fay91krjqbf1kaf5ng4f3na0p6liyd5c6fhq"))))
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
|
@ -189,8 +220,8 @@ or iOS.")
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(invoke "tar" "xvf" source)
|
||||
(lambda _
|
||||
(invoke "tar" "xvf" #$source)
|
||||
;; Use the more standard lib directory for everything.
|
||||
(mkdir-p "lib")
|
||||
(rename-file "zoom/" "lib/zoom")))
|
||||
|
@ -212,9 +243,6 @@ or iOS.")
|
|||
"libxrender"
|
||||
"zlib")))))
|
||||
(wrap-program (string-append #$output "/lib/zoom/zoom")
|
||||
'("QML2_IMPORT_PATH" = ())
|
||||
'("QT_PLUGIN_PATH" = ())
|
||||
'("QT_SCREEN_SCALE_FACTORS" = ())
|
||||
`("FONTCONFIG_PATH" ":" prefix
|
||||
(,(string-join
|
||||
(list
|
||||
|
|
|
@ -14,17 +14,14 @@
|
|||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.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 © 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 © 2022 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2023 Tomas Volf <wolf@wolfsden.cz>
|
||||
|
||||
(define-module (nongnu packages mozilla)
|
||||
#:use-module (srfi srfi-26)
|
||||
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system trivial)
|
||||
|
@ -67,46 +64,50 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages rust-apps)
|
||||
#:use-module (gnu packages speech)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (nongnu packages wasm)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
;;; Define the versions of rust needed to build firefox, trying to match
|
||||
;;; upstream. See table at [0], `Uses' column for the specific version.
|
||||
;;; Using `rust' will likely lead to a newer version then listed in the table,
|
||||
;;; but since in Guix only the latest packaged Rust is officially supported,
|
||||
;;; it is a tradeoff worth making.
|
||||
;;; 0: https://firefox-source-docs.mozilla.org/writing-rust-code/update-policy.html
|
||||
;; The `rust' package is too old.
|
||||
(define-public rust-firefox-esr rust-1.77)
|
||||
(define-public rust-firefox rust-1.77)
|
||||
;; Define the versions of rust needed to build firefox, trying to match
|
||||
;; upstream. See the file taskcluster/ci/toolchain/rust.yml at
|
||||
;; https://searchfox.org under the particular firefox release, like
|
||||
;; mozilla-esr102.
|
||||
(define-public rust-firefox-esr rust) ; 1.60 is the default in Guix
|
||||
(define-public rust-firefox rust) ; 1.65 is the minimum
|
||||
|
||||
(define icu4c-73
|
||||
(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.
|
||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||
(define %firefox-esr-build-id "20250203132125")
|
||||
(define %firefox-esr-build-id "20230928000000")
|
||||
|
||||
(define-public firefox-esr
|
||||
(package
|
||||
(name "firefox-esr")
|
||||
(version "128.7.0esr")
|
||||
(version "115.3.1esr")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
||||
version "/source/firefox-" version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32 "1xwl6z8ax3dw5hjb5lwpl5641rmlizmfqs3xg74cnczsvm7bz9z0"))
|
||||
(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")))))
|
||||
(base32 "0lqymabkhxpdhmgz81if8za1hdakh8nlm4cmsir4y1fa95p2bnkx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -138,11 +139,6 @@
|
|||
"--with-distribution-id=org.nonguix"
|
||||
"--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
|
||||
"--disable-tests"
|
||||
"--disable-updater"
|
||||
|
@ -158,7 +154,6 @@
|
|||
"--disable-elf-hack"))
|
||||
#:imported-modules %cargo-utils-modules
|
||||
#:modules `((ice-9 regex)
|
||||
(ice-9 string-fun)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
|
@ -166,7 +161,7 @@
|
|||
(rnrs io ports)
|
||||
(guix elf)
|
||||
(guix build gremlin)
|
||||
,@%default-gnu-imported-modules)
|
||||
,@%gnu-build-system-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-preferences
|
||||
|
@ -185,11 +180,6 @@
|
|||
|
||||
;; XDG settings should be managed by Guix.
|
||||
(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))))
|
||||
(add-after 'fix-preferences 'fix-ffmpeg-runtime-linker
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
@ -238,24 +228,8 @@
|
|||
;; complain that it's not able to change Cargo.lock.
|
||||
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
|
||||
(substitute* "build/RunCbindgen.py"
|
||||
(("args.append\\(\"--frozen\"\\)") "pass"))))
|
||||
(("\"--frozen\",") ""))))
|
||||
(delete 'bootstrap)
|
||||
(add-before 'configure 'patch-SpeechDispatcherService.cpp
|
||||
(lambda _
|
||||
(let* ((lib "libspeechd.so.2")
|
||||
(file "dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp")
|
||||
(old-content (call-with-input-file file get-string-all)))
|
||||
(substitute
|
||||
file
|
||||
`((,(format #f "~s" lib)
|
||||
. ,(lambda (line _)
|
||||
(string-replace-substring
|
||||
line
|
||||
lib
|
||||
(string-append #$speech-dispatcher "/lib/" lib))))))
|
||||
(if (string=? old-content
|
||||
(call-with-input-file file get-string-all))
|
||||
(error "substitute did nothing, phase requires an update")))))
|
||||
(add-before 'configure 'set-build-id
|
||||
;; Firefox will write the timestamp to output, which is harmful
|
||||
;; for reproducibility, so change it to a fixed date. Use a
|
||||
|
@ -291,9 +265,6 @@
|
|||
|
||||
(setenv "MOZ_NOSPAM" "1")
|
||||
|
||||
;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL").
|
||||
(setenv "MOZ_APP_REMOTINGNAME" "Firefox")
|
||||
|
||||
(setenv "MOZBUILD_STATE_PATH" (getcwd))
|
||||
|
||||
(let* ((mozconfig (string-append (getcwd) "/mozconfig"))
|
||||
|
@ -388,17 +359,13 @@
|
|||
'("mesa" "ffmpeg")))))
|
||||
(pulseaudio-lib (string-append (assoc-ref inputs "pulseaudio")
|
||||
"/lib"))
|
||||
;; For sharing on Wayland
|
||||
(pipewire-lib (string-append (assoc-ref inputs "pipewire")
|
||||
"/lib"))
|
||||
;; For U2F and WebAuthn
|
||||
(eudev-lib (string-append (assoc-ref inputs "eudev") "/lib"))
|
||||
(gtk-share (string-append (assoc-ref inputs "gtk+")
|
||||
"/share")))
|
||||
(wrap-program (car (find-files lib "^firefox$"))
|
||||
`("LD_LIBRARY_PATH" prefix (,mesa-lib ,libnotify-lib ,libva-lib
|
||||
,pulseaudio-lib ,eudev-lib ,@rdd-whitelist
|
||||
,pipewire-lib))
|
||||
,pulseaudio-lib ,eudev-lib ,@rdd-whitelist))
|
||||
`("XDG_DATA_DIRS" prefix (,gtk-share))
|
||||
`("MOZ_LEGACY_PROFILES" = ("1"))
|
||||
`("MOZ_ALLOW_DOWNGRADE" = ("1"))))))
|
||||
|
@ -412,7 +379,7 @@
|
|||
(("NewWindow") "new-window")
|
||||
(("NewPrivateWindow") "new-private-window")
|
||||
(("StartupNotify=true")
|
||||
"StartupNotify=true\nStartupWMClass=Firefox"))
|
||||
"StartupNotify=true\nStartupWMClass=Navigator"))
|
||||
(install-file desktop-file applications))))
|
||||
(add-after 'install-desktop-entry 'install-icons
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
@ -475,9 +442,8 @@
|
|||
pipewire
|
||||
pixman
|
||||
pulseaudio
|
||||
speech-dispatcher
|
||||
sqlite
|
||||
startup-notification
|
||||
sqlite
|
||||
eudev
|
||||
unzip
|
||||
zip
|
||||
|
@ -487,7 +453,7 @@
|
|||
alsa-lib
|
||||
autoconf-2.13
|
||||
`(,rust-firefox-esr "cargo")
|
||||
clang-18
|
||||
clang
|
||||
llvm
|
||||
wasm32-wasi-clang-toolchain
|
||||
m4
|
||||
|
@ -497,14 +463,9 @@
|
|||
pkg-config
|
||||
python
|
||||
rust-firefox-esr
|
||||
rust-cbindgen-0.26
|
||||
rust-cbindgen-0.24
|
||||
which
|
||||
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/")
|
||||
(synopsis "Trademarkless version of Firefox")
|
||||
(description
|
||||
|
@ -551,29 +512,20 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
|
|||
|
||||
;; Update this id with every firefox update to its release date.
|
||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||
(define %firefox-build-id "20250203132324")
|
||||
(define %firefox-build-id "20230928000000")
|
||||
|
||||
(define-public firefox
|
||||
(package
|
||||
(inherit firefox-esr)
|
||||
(name "firefox")
|
||||
(version "135.0")
|
||||
(version "118.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
||||
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
|
||||
(base32 "0q5r2q6q56kyzl5pknrir9bzlhmzbvv9hi5gi4852izgcali4zl2"))))
|
||||
(base32 "15gxg5nk62fn5sp77i0b0jfn8qa2a3ikkis0lwaxc19ns5bdmx53"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments firefox-esr)
|
||||
((#:phases phases)
|
||||
|
@ -581,9 +533,6 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
|
|||
(replace 'set-build-id
|
||||
(lambda _
|
||||
(setenv "MOZ_BUILD_DATE" #$%firefox-build-id)))))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs firefox-esr)
|
||||
(replace "icu4c" icu4c-75)))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs firefox-esr)
|
||||
(replace "rust" rust-firefox)
|
||||
|
@ -592,7 +541,38 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
|
|||
"Full-featured browser client built from Firefox source tree, without
|
||||
the official icon and the name \"firefox\".")))
|
||||
|
||||
;; As of Firefox 121.0, Firefox uses Wayland by default. This means we no
|
||||
;; longer need a seperate package for Firefox on Wayland.
|
||||
(define-public firefox-wayland
|
||||
(deprecated-package "firefox-wayland" firefox))
|
||||
(define-public firefox/wayland
|
||||
(package
|
||||
(inherit firefox)
|
||||
(name "firefox-wayland")
|
||||
(native-inputs '())
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
("firefox" ,firefox)))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((bash (assoc-ref %build-inputs "bash"))
|
||||
(firefox (assoc-ref %build-inputs "firefox"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(exe (string-append out "/bin/firefox")))
|
||||
(mkdir-p (dirname exe))
|
||||
|
||||
(call-with-output-file exe
|
||||
(lambda (port)
|
||||
(format port "#!~a
|
||||
MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
|
||||
(string-append bash "/bin/bash")
|
||||
(string-append firefox "/bin/firefox"))))
|
||||
(chmod exe #o555)
|
||||
|
||||
;; Provide the manual and .desktop file.
|
||||
(copy-recursively (string-append firefox "/share")
|
||||
(string-append out "/share"))
|
||||
(substitute* (string-append
|
||||
out "/share/applications/firefox.desktop")
|
||||
((firefox) out))
|
||||
#t))))))
|
||||
|
|
|
@ -34,9 +34,7 @@
|
|||
("x86_64-linux" "linux_x86_64")
|
||||
("i686-linux" "linux_i686")
|
||||
("aarch64-linux" "linux_aarch64")
|
||||
("armhf-linux" "linux_armv7l")
|
||||
;; We need a default case
|
||||
(_ "unsupported"))
|
||||
("armhf-linux" "linux_armv7l"))
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
|
@ -44,9 +42,7 @@
|
|||
("x86_64-linux" "1hd7fbk0px45fxhqa7nqcnij8ls2fhpjp60v840vy2zqs9fkcr52")
|
||||
("i686-linux" "11vk32mxyda9xl08pp2ivd1vsahnw6w7d08in4syz6iannfwp19b")
|
||||
("aarch64-linux" "0zpkaiwwxn8yh3s1d22qswshbgaxx5d8iy17hb3w256zgb722yjw")
|
||||
("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk")
|
||||
;; We need a valid base32 default case
|
||||
(_ "0000000000000000000000000000000000000000000000000000"))))))
|
||||
("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk"))))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
(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,7 +1,7 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
|
||||
;;; Copyright © 2021 Kahka F
|
||||
;;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2021 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
|
||||
(define-module (nongnu packages printers)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -40,7 +40,7 @@
|
|||
;; hplip is updated in Guix.
|
||||
(sha256
|
||||
(base32
|
||||
"0zq66hm7ni6w1c3cxy1gxrxzvyvfn0lhjnia8p4azvz2r309j9s0")))))
|
||||
"09kixd9pb0p94bw3xyqy9h62gwqnbwcjjsvb2g3wvl6zxp4j1fvy")))))
|
||||
(package-native-inputs hplip)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments hplip)
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2024 Karl Hallsby <karl@hallsby.com
|
||||
|
||||
(define-module (nongnu packages productivity)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages linux)
|
||||
|
@ -21,23 +19,22 @@
|
|||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
#:use-module ((nonguix licenses) #:prefix license:)
|
||||
#:use-module ((guix licenses) #:prefix free-license:))
|
||||
#:use-module ((nonguix licenses) #:prefix license:))
|
||||
|
||||
(define-public anytype
|
||||
(package
|
||||
(name "anytype")
|
||||
(version "0.44.0")
|
||||
(version "0.35.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://anytype-release.fra1.cdn.digitaloceanspaces.com/"
|
||||
name "_" version "_amd64.deb"))
|
||||
(string-append "https://download.anytype.io?action=download"
|
||||
"&key=desktop&id=127051615"))
|
||||
(file-name (string-append "anytype-" version ".deb"))
|
||||
(sha256
|
||||
(base32
|
||||
"0djyvz6y4pk277xa2mc4w6w029i3f7zd2d1pniyrpayhnna6f670"))))
|
||||
"12lfy5rygnaachax62j40b1ns9qsysa94f0hgqhsjaij50kw3dlc"))))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -55,35 +52,29 @@
|
|||
"libGLESv2.so"
|
||||
"libvk_swiftshader.so"
|
||||
"libvulkan.so.1"
|
||||
"resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node"
|
||||
"resources/app.asar.unpacked/node_modules/keytar/build/Release/obj.target/keytar.node"))
|
||||
"resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node"))
|
||||
#:install-plan
|
||||
#~'(("opt/" "/share")
|
||||
("usr/share/" "/share"))
|
||||
#: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
|
||||
(lambda _
|
||||
(delete-file
|
||||
(string-append "opt/Anytype/resources/app.asar.unpacked/"
|
||||
"node_modules/keytar/build/node_gyp_bins/python3"))))
|
||||
(add-after 'unpack 'unpack-deb
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(invoke "ar" "x" #$source)
|
||||
(invoke "rm" "-v" "control.tar.gz"
|
||||
"debian-binary"
|
||||
(string-append "anytype-" #$version ".deb"))
|
||||
(invoke "tar" "xvf" "data.tar.xz")
|
||||
(invoke "rm" "-vrf" "data.tar.xz")))
|
||||
(add-before 'install 'patch-assets
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(icon (string-append #$output "/share/icons/hicolor/0x0/apps/anytype.png"))
|
||||
(usr/share "./usr/share")
|
||||
(old-exe "/opt/Anytype/anytype")
|
||||
(exe (string-append bin "/anytype")))
|
||||
(substitute* (string-append usr/share "/applications/anytype.desktop")
|
||||
(("^Icon=anytype") (string-append "Icon=" icon))
|
||||
(((string-append "^Exec=" old-exe)) (string-append "Exec=" exe))))))
|
||||
(add-before 'install-wrapper 'symlink-entrypoint
|
||||
(lambda _
|
||||
|
@ -95,6 +86,7 @@
|
|||
(symlink target exe)
|
||||
(wrap-program exe
|
||||
`("LD_LIBRARY_PATH" = (,share)))))))))
|
||||
(native-inputs (list tar))
|
||||
(inputs
|
||||
(list bzip2
|
||||
flac
|
||||
|
@ -119,118 +111,3 @@ synchronization.")
|
|||
(home-page "https://anytype.io")
|
||||
(license (license:nonfree
|
||||
"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)))
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
(define-public helix-core
|
||||
(package
|
||||
(name "helix-core")
|
||||
(version "r23.1")
|
||||
(version "r22.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.perforce.com/perforce/" version
|
||||
|
@ -28,7 +28,7 @@
|
|||
("i686-linux"
|
||||
"0f5qs55rspw86axnmml3nxx551lwbxwz1cgi9kmy2f9g5rrplnkn")
|
||||
(_
|
||||
"1vqfkhgbx6ch7710w8mmm7hydl6jmd9qgzs0gfjg8gvd5gnh1csr"))))))
|
||||
"077rfbjgyhdgv76i2727s3yk3p52y75nml8n9wv8g7mvhfs9ypa9"))))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
`(#:strip-binaries? #f
|
||||
|
|
|
@ -1,54 +1,21 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; 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)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#: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))))
|
||||
#:use-module ((guix licenses) #:prefix license:))
|
||||
|
||||
(define-public gmmlib
|
||||
(package
|
||||
(name "gmmlib")
|
||||
(version "22.3.19")
|
||||
(version "22.3.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -57,7 +24,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p3wp6xcvpb4jzw4fsf6554qy91iblmq9y50ph3iy29m19q6nznb"))))
|
||||
"0m88lxlqqs5wdk4icf2ahbigr0q87j1c0damq7q0r55h72pf6zyv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; Tests are run as part of the normal build step
|
||||
|
@ -73,7 +40,7 @@ for VAAPI.")
|
|||
(define-public intel-media-driver
|
||||
(package
|
||||
(name "intel-media-driver")
|
||||
(version "24.1.5")
|
||||
(version "23.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -82,7 +49,7 @@ for VAAPI.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jm4imld48scj0j499wq5zbdjv4gg7hg2sawljqnjvy09dmp09bs"))))
|
||||
"1zh6zgfyp14zlnd6jvhqz9q5rlyk7cb3nam791slh0h7r5f0iimm"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list libva gmmlib))
|
||||
(native-inputs (list pkg-config))
|
||||
|
@ -125,110 +92,3 @@ graphics hardware.")
|
|||
(package-description intel-media-driver)
|
||||
" This build of intel-media-driver includes nonfree blobs to fully enable the
|
||||
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
|
||||
(package
|
||||
(name "zerotier")
|
||||
(version "1.12.2")
|
||||
(version "1.8.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -21,17 +21,16 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p5rpvh137gf5y9ylip7kxfl4argv34sr4wiiygvfk670rifnk57"))))
|
||||
"101b1k9f3cpbgj0l87ya1cbqs9dv0qiayjap4m29fxyjra8hbkb8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "ZT_SSO_SUPPORTED=0") ; We don't need SSO/OIDC
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; There is no ./configure
|
||||
(delete 'configure)
|
||||
(replace 'check
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "selftest" make-flags)
|
||||
(lambda _
|
||||
(invoke "make" "selftest")
|
||||
(invoke "./zerotier-selftest")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
|
@ -34,42 +33,43 @@
|
|||
"15glm6ws0zihcks93l39mli8wf5b5vkijb0vaid9cqra6x0zppd5"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list cabextract
|
||||
p7zip
|
||||
perl
|
||||
;; unrar ; TODO: Include unrar? It is referenced in the source.
|
||||
unzip
|
||||
wget
|
||||
zenity))
|
||||
`(("cabextract" ,cabextract)
|
||||
("p7zip" ,p7zip)
|
||||
("perl" ,perl)
|
||||
;; ("unrar" ,unrar) ; TODO: Include unrar? It is referenced in the source.
|
||||
("unzip" ,unzip)
|
||||
("wget" ,wget)
|
||||
("zenity" ,zenity)))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
`(#:tests? #f
|
||||
;; TODO: Checks need bashate, shellcheck (in Guix), and checkbashisms.
|
||||
#:make-flags #~(list (string-append "DESTDIR=" #$output)
|
||||
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
|
||||
"PREFIX=")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'install 'wrap-program
|
||||
;; The script relies on WINETRICKS_GUI being exactly "zenity", so
|
||||
;; we can't patch the path directly. Probably same for other dependencies.
|
||||
(lambda _
|
||||
(let* ((winetricks (string-append #$output "/bin/winetricks"))
|
||||
(paths (map
|
||||
(lambda (p) (string-append p "/bin"))
|
||||
(list #$(this-package-input "cabextract")
|
||||
#$(this-package-input "p7zip")
|
||||
#$(this-package-input "perl")
|
||||
#$(this-package-input "unzip")
|
||||
#$(this-package-input "wget")
|
||||
#$(this-package-input "zenity")))))
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((zenity-bin (string-append (assoc-ref inputs "zenity") "/bin/"))
|
||||
(perl-bin (string-append (assoc-ref inputs "perl") "/bin/"))
|
||||
(winetricks (string-append (assoc-ref outputs "out")
|
||||
"/bin/winetricks")))
|
||||
(wrap-program winetricks
|
||||
`("PATH" prefix ,paths)))))
|
||||
`("PATH" prefix (,@(map (lambda (in)
|
||||
(string-append (assoc-ref inputs in) "/bin/"))
|
||||
'("cabextract"
|
||||
"p7zip"
|
||||
"perl"
|
||||
"unzip"
|
||||
"wget"
|
||||
"zenity"))))))))
|
||||
(add-after 'install 'patch-perl-path
|
||||
(lambda _
|
||||
(let* ((perl (string-append #$(this-package-input "perl")
|
||||
"/bin/perl"))
|
||||
(winetricks (string-append #$output "/bin/winetricks")))
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((perl (string-append (assoc-ref inputs "perl") "/bin/perl"))
|
||||
(winetricks (string-append (assoc-ref outputs "out")
|
||||
"/bin/winetricks")))
|
||||
(substitute* winetricks
|
||||
(("#!/usr/bin/env perl") (string-append "#!" perl)))))))))
|
||||
(home-page "https://github.com/Winetricks/winetricks")
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
;;; 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)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix records)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu services linux)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix records)
|
||||
#:use-module (nongnu packages nvidia)
|
||||
#:export (nvidia-configuration
|
||||
nvidia-configuration?
|
||||
|
@ -19,32 +19,24 @@
|
|||
(define-record-type* <nvidia-configuration>
|
||||
nvidia-configuration make-nvidia-configuration
|
||||
nvidia-configuration?
|
||||
(driver nvidia-configuration-driver
|
||||
(default nvda)) ; file-like
|
||||
(firmware nvidia-configuration-firmware
|
||||
(default nvidia-firmware)) ; file-like
|
||||
(module nvidia-configuration-module
|
||||
(default nvidia-module))) ; file-like
|
||||
(nvidia-driver nvidia-configuration-nvidia-driver
|
||||
(default (list nvidia-driver))) ; list of file-like
|
||||
(nvidia-firmware nvidia-configuration-nvidia-firmware
|
||||
(default (list nvidia-firmware))) ; list of file-like
|
||||
(nvidia-module nvidia-configuration-nvidia-module
|
||||
(default (list nvidia-module))) ; list of file-like
|
||||
(modules nvidia-configuration-modules
|
||||
(default (list "nvidia-uvm")))) ; list of string
|
||||
|
||||
(define (nvidia-shepherd-service config)
|
||||
(let* ((nvidia-driver (nvidia-configuration-driver config))
|
||||
(nvidia-smi (file-append nvidia-driver "/bin/nvidia-smi")))
|
||||
(list (shepherd-service
|
||||
(documentation "Prepare system environment for NVIDIA driver.")
|
||||
(documentation "Unload nvidia-uvm module on powering off.")
|
||||
(provision '(nvidia))
|
||||
(requirement '(udev))
|
||||
(one-shot? #t)
|
||||
(modules '(((guix build utils) #:select (invoke/quiet))
|
||||
((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)))))))))))
|
||||
(requirement '(user-processes))
|
||||
(start #~(const #t))
|
||||
(stop #~(lambda _
|
||||
(let ((rmmod #$(file-append kmod "/bin/rmmod")))
|
||||
(zero? (system* rmmod "nvidia-uvm"))))))))
|
||||
|
||||
(define nvidia-service-type
|
||||
(service-type
|
||||
|
@ -52,13 +44,13 @@
|
|||
(extensions
|
||||
(list (service-extension shepherd-root-service-type
|
||||
nvidia-shepherd-service)
|
||||
(service-extension profile-service-type
|
||||
(compose list nvidia-configuration-driver))
|
||||
(service-extension udev-service-type
|
||||
(compose list nvidia-configuration-driver))
|
||||
nvidia-configuration-nvidia-driver)
|
||||
(service-extension firmware-service-type
|
||||
(compose list nvidia-configuration-firmware))
|
||||
nvidia-configuration-nvidia-firmware)
|
||||
(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))
|
||||
(description "Prepare system environment for NVIDIA driver.")))
|
||||
(description "Load NVIDIA modules.")))
|
||||
|
|
|
@ -1,16 +1,13 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
|
||||
;;; Copyright © 2025 James Kalyan <mjkalyan@proton.me>
|
||||
|
||||
(define-module (nongnu services vpn)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (nongnu packages vpn)
|
||||
#:export (zerotier-service-type
|
||||
zerotier-one-service))
|
||||
#:export (zerotier-one-service))
|
||||
|
||||
(define %zerotier-action-join
|
||||
(shepherd-action
|
||||
|
@ -50,18 +47,12 @@
|
|||
(list (string-append #$zerotier "/sbin/zerotier-one"))))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define zerotier-service-type
|
||||
(service-type (name 'zerotier)
|
||||
(define zerotier-one-service-type
|
||||
(service-type (name 'zerotier-one)
|
||||
(description "ZeroTier One daemon.")
|
||||
(extensions
|
||||
(list (service-extension shepherd-root-service-type
|
||||
zerotier-one-shepherd-service)))
|
||||
(default-value '())))
|
||||
zerotier-one-shepherd-service)))))
|
||||
|
||||
(define-deprecated/alias
|
||||
zerotier-one-service-type
|
||||
zerotier-service-type)
|
||||
|
||||
(define-deprecated (zerotier-one-service #:key (config '()))
|
||||
zerotier-service-type
|
||||
(define* (zerotier-one-service #:key (config (list)))
|
||||
(service zerotier-one-service-type config))
|
||||
|
|
|
@ -2,46 +2,20 @@
|
|||
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; 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:
|
||||
;; $ guix system image --image-type=iso9660 nongnu/system/install.scm
|
||||
;; $ guix system disk-image nongnu/system/install.scm
|
||||
|
||||
(define-module (nongnu system install)
|
||||
#:use-module (guix channels)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages vim)
|
||||
#:use-module (gnu packages zile)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (gnu system install)
|
||||
#:use-module (nongnu packages linux)
|
||||
#: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
|
||||
(operating-system
|
||||
(inherit installation-os)
|
||||
|
@ -53,19 +27,6 @@
|
|||
git
|
||||
neovim
|
||||
zile)
|
||||
(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)))))))
|
||||
(operating-system-packages installation-os)))))
|
||||
|
||||
installation-os-nonfree
|
||||
|
|
|
@ -41,11 +41,7 @@
|
|||
|
||||
;; Do not use `@' to avoid introducing circular dependencies.
|
||||
(let ((module (resolve-interface '(gnu packages elf))))
|
||||
;; Use the older 0.16 version due to an upstream bug which can segfault
|
||||
;; 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)))
|
||||
(module-ref module 'patchelf)))
|
||||
|
||||
(define (default-glibc)
|
||||
"Return the default glibc package."
|
||||
|
|
|
@ -54,12 +54,7 @@
|
|||
#~(let ((patchelf-inputs
|
||||
(list #$@(map car inputs))))
|
||||
(map (lambda (file)
|
||||
;; Either an entry in WRAPPER-PLAN is just a string which can be
|
||||
;; 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))))
|
||||
(cons file (list patchelf-inputs)))
|
||||
#$wrapper-plan)))
|
||||
|
||||
(define* (lower name
|
||||
|
@ -141,7 +136,7 @@
|
|||
(build chromium-binary-build)
|
||||
(arguments (append
|
||||
(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
|
||||
#:key
|
||||
|
@ -168,13 +163,7 @@
|
|||
(substitutable? #t)
|
||||
allowed-references
|
||||
disallowed-references)
|
||||
"Build SOURCE using binary-build-system. WRAPPER-PLAN is a list of strings for
|
||||
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 '()."
|
||||
"Build SOURCE using binary-build-system."
|
||||
(define builder
|
||||
(with-imported-modules imported-modules
|
||||
#~(begin
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
|
||||
(define-module (nonguix build binary-build-system)
|
||||
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
||||
#:use-module (nonguix build utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (%standard-phases
|
||||
binary-build))
|
||||
|
||||
|
@ -116,10 +113,6 @@ The inputs are optional when the file is an executable."
|
|||
(invoke "patchelf" "--set-rpath" rpath binary)))
|
||||
#t)
|
||||
|
||||
(display "Using patchelf version: ")
|
||||
(force-output)
|
||||
(invoke "patchelf" "--version")
|
||||
|
||||
(when (and patchelf-plan
|
||||
(not (null? patchelf-plan)))
|
||||
(let ((interpreter (car (find-files (assoc-ref inputs "libc") "ld-linux.*\\.so")))
|
||||
|
@ -140,42 +133,10 @@ The inputs are optional when the file is an executable."
|
|||
patchelf-plan)))
|
||||
#t)
|
||||
|
||||
(define (deb-file? binary-file)
|
||||
(string-suffix? ".deb" binary-file))
|
||||
|
||||
(define (unpack-deb deb-file)
|
||||
(invoke "ar" "x" deb-file)
|
||||
(let ((data-file (find file-exists?
|
||||
(list "data.tar.xz" "data.tar.gz"
|
||||
"data.tar.bz2"))))
|
||||
(invoke "tar" "xvf" data-file)
|
||||
(invoke "rm" "-rfv" "control.tar.gz"
|
||||
data-file
|
||||
deb-file
|
||||
"debian-binary")))
|
||||
|
||||
(define* (binary-unpack #:key source #:allow-other-keys)
|
||||
(let* ((files (filter (lambda (f)
|
||||
(not (string=? (basename f) "environment-variables")))
|
||||
(find-files (getcwd))))
|
||||
(binary-file (car files)))
|
||||
(when (= 1 (length files))
|
||||
(mkdir "binary")
|
||||
(chdir "binary")
|
||||
(match binary-file
|
||||
((? deb-file?) (unpack-deb binary-file))
|
||||
(_
|
||||
(begin
|
||||
(format #t "Unknown file type: ~a~%" (basename binary-file))
|
||||
;; Cleanup after ourselves
|
||||
(chdir "..")
|
||||
(rmdir "binary")))))))
|
||||
|
||||
(define %standard-phases
|
||||
;; Everything is as with the GNU Build System except for the `binary-unpack',
|
||||
;; `configure', `build', `check' and `install' phases.
|
||||
;; Everything is as with the GNU Build System except for the `configure'
|
||||
;; , `build', `check' and `install' phases.
|
||||
(modify-phases gnu:%standard-phases
|
||||
(add-after 'unpack 'binary-unpack binary-unpack)
|
||||
(delete 'bootstrap)
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
(define-module (nonguix build chromium-binary-build-system)
|
||||
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
||||
#:use-module ((nonguix build binary-build-system) #:prefix binary:)
|
||||
#:use-module (nonguix build utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (ice-9 ftw)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -23,9 +24,9 @@
|
|||
(nss (assoc-ref inputs "nss"))
|
||||
(wrap-inputs (map cdr inputs))
|
||||
(lib-directories
|
||||
(search-path-as-list '("lib") wrap-inputs))
|
||||
(build-paths-from-inputs '("lib") wrap-inputs))
|
||||
(bin-directories
|
||||
(search-path-as-list
|
||||
(build-paths-from-inputs
|
||||
'("bin" "sbin" "libexec")
|
||||
wrap-inputs)))
|
||||
(for-each
|
||||
|
@ -52,12 +53,7 @@
|
|||
(list
|
||||
(string-append nss "/lib/nss")
|
||||
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
|
||||
(lambda (exe) (string-append bin "/" exe))
|
||||
(filter
|
||||
|
|
|
@ -97,3 +97,23 @@ contents:
|
|||
(call-with-output-file result
|
||||
(lambda (port)
|
||||
(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))))
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
|
||||
;;; Copyright © 2023 Elijah Malaby
|
||||
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
|
||||
|
||||
;;; The script provided by this package may optionally be started as
|
||||
;;; a shell instead of automatically launching the wrapped entrypoint by setting
|
||||
|
@ -42,6 +41,7 @@
|
|||
(define-module (nonguix multiarch-container)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix records)
|
||||
|
@ -50,7 +50,6 @@
|
|||
#:export (nonguix-container
|
||||
nonguix-container?
|
||||
ngc-name
|
||||
ngc-binary-name
|
||||
ngc-version
|
||||
ngc-wrap-package
|
||||
ngc-run
|
||||
|
@ -83,7 +82,6 @@
|
|||
nonguix-container make-nonguix-container
|
||||
nonguix-container? this-nonguix-container
|
||||
(name ngc-name)
|
||||
(binary-name ngc-binary-name (default (ngc-name this-nonguix-container)) (thunked))
|
||||
(version ngc-version (default #f))
|
||||
(wrap-package ngc-wrap-package)
|
||||
(run ngc-run)
|
||||
|
@ -209,7 +207,7 @@ in a sandboxed FHS environment."
|
|||
(manifest-target (assoc-ref %build-inputs "fhs-manifest"))
|
||||
(manifest-dest (string-append out "/etc/" ,(ngc-manifest-name container)))
|
||||
(wrapper-target (assoc-ref %build-inputs "fhs-wrapper"))
|
||||
(wrapper-dest (string-append out "/bin/" ,(ngc-binary-name container)))
|
||||
(wrapper-dest (string-append out "/bin/" ,(ngc-name container)))
|
||||
(link-files ',(ngc-link-files container)))
|
||||
(mkdir-p (string-append out "/sbin"))
|
||||
(mkdir-p (string-append out "/etc"))
|
||||
|
@ -238,7 +236,6 @@ in a sandboxed FHS environment."
|
|||
in a sandboxed FHS environment."
|
||||
(program-file
|
||||
(ngc-wrapper-name container)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(define (preserve-var var)
|
||||
|
@ -259,25 +256,10 @@ in a sandboxed FHS environment."
|
|||
(home (getenv "HOME"))
|
||||
(sandbox-home (or (getenv "GUIX_SANDBOX_HOME")
|
||||
(string-append home "/" #$(ngc-sandbox-home container))))
|
||||
(wayland-display (or (getenv "WAYLAND_DISPLAY")
|
||||
"wayland-0"))
|
||||
(preserved-env '("^DBUS_"
|
||||
"^DISPLAY$"
|
||||
"^DRI_PRIME$"
|
||||
"^GDK_SCALE$" ; For UI scaling.
|
||||
"^GUIX_LOCPATH$" ; For pressure-vessel locales.
|
||||
;; For startup of added non-Steam games as it
|
||||
;; seems they start in an early environment
|
||||
;; before our additional settings. (Likely
|
||||
;; this can be removed when rewritten to use
|
||||
;; --emulate-fhs from upstream.) Note that
|
||||
;; this is explicitly set below. We could
|
||||
;; preserve what is set before launching the
|
||||
;; container, but any such directories would
|
||||
;; need to be shared with the container as
|
||||
;; well; this is not needed currently.
|
||||
"^LD_LIBRARY_PATH$"
|
||||
"^LIBVA_DRIVERS_PATH$" ; For VA-API drivers.
|
||||
"^MANGOHUD" ; For MangoHud configuration.
|
||||
"^PRESSURE_VESSEL_" ; For pressure vessel options.
|
||||
"_PROXY$"
|
||||
"_proxy$"
|
||||
|
@ -290,16 +272,12 @@ in a sandboxed FHS environment."
|
|||
"^SDL_"
|
||||
"^STEAM_"
|
||||
"^SSL_" ; SSL certificate environment, needed by curl for Heroic.
|
||||
"^TZ" ; For setting time zone.
|
||||
"^VDPAU_DRIVER_PATH$" ; For VDPAU drivers.
|
||||
"^XAUTHORITY$"
|
||||
;; Matching all ^XDG_ vars causes issues
|
||||
;; discussed in 80decf05.
|
||||
"^XDG_CURRENT_DESKTOP$"
|
||||
"^XDG_DATA_HOME$"
|
||||
"^XDG_RUNTIME_DIR$"
|
||||
"^XDG_SESSION_(CLASS|TYPE)$"
|
||||
"^(WAYLAND_)?DISPLAY$"
|
||||
#$@(ngc-preserved-env container) ; Environment from container.
|
||||
;; The following are useful for debugging.
|
||||
"^CAPSULE_DEBUG$"
|
||||
"^G_MESSAGES_DEBUG$"
|
||||
|
@ -314,7 +292,6 @@ in a sandboxed FHS environment."
|
|||
,@(exists-> "/dev/nvidia-modeset")
|
||||
,@(exists-> "/etc/machine-id")
|
||||
"/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/hwmon" ; Needed for hw monitoring like MangoHud.
|
||||
"/sys/class/hidraw" ; Needed for devices like the Valve Index.
|
||||
|
@ -338,34 +315,30 @@ in a sandboxed FHS environment."
|
|||
,@(exists-> (string-append home "/.config/pulse"))
|
||||
,@(exists-> (string-append xdg-runtime "/pulse"))
|
||||
,@(exists-> (string-append xdg-runtime "/bus"))
|
||||
,@(exists-> (string-append xdg-runtime "/" wayland-display))
|
||||
,@(exists-> (getenv "XAUTHORITY"))
|
||||
#$@(ngc-shared container)))
|
||||
(DEBUG (equal? (getenv "DEBUG") "1"))
|
||||
;; Make sure this environment variable is not set to the
|
||||
;; emptry string or else guix shell will fail to start.
|
||||
(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))
|
||||
(args (cdr (command-line)))
|
||||
(command (if DEBUG '()
|
||||
`("--" ,run ,@args))))
|
||||
;; Set this so Steam's pressure-vessel container does not need to
|
||||
;; generate locales, improving startup time. This needs to be set to
|
||||
;; the "usual" path, probably so they are included in the
|
||||
;; pressure-vessel container.
|
||||
(setenv "GUIX_LOCPATH" "/usr/lib/locale")
|
||||
;; By default VA-API drivers are searched for in mesa's store path,
|
||||
;; so set this path to where the drivers will actually be located in
|
||||
;; the container.
|
||||
(setenv "LIBVA_DRIVERS_PATH" "/lib64/dri:/lib/dri")
|
||||
;; TODO: Remove once upstream change is merged and in stable pressure-vessel
|
||||
;; (although may want to hold off for anyone using older pressure-vessel versions
|
||||
;; for whatever reason), see:
|
||||
;; https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/merge_requests/406
|
||||
(setenv "PRESSURE_VESSEL_FILESYSTEMS_RO" "/gnu/store")
|
||||
;; By default VDPAU drivers are searched for in libvdpau's store
|
||||
;; path, so set this path to where the drivers will actually be
|
||||
;; located in the container.
|
||||
(setenv "VDPAU_DRIVER_PATH" "/lib64/vdpau")
|
||||
(format #t "\n* Launching ~a in sandbox: ~a.\n\n"
|
||||
#$(package-name (ngc-wrap-package container)) sandbox-home)
|
||||
(when DEBUG
|
||||
(format #t "* DEBUG set to 1: Starting shell. Launch application manually with: ~a.\n\n"
|
||||
#$(ngc-internal-name container)))
|
||||
(mkdir-p sandbox-home)
|
||||
(invoke #$(file-append pulseaudio "/bin/pulseaudio")
|
||||
"--start"
|
||||
"--exit-idle-time=60")
|
||||
(apply invoke
|
||||
`("guix" "shell"
|
||||
"--container" "--no-cwd" "--network"
|
||||
|
@ -373,11 +346,9 @@ in a sandboxed FHS environment."
|
|||
,@(map add-path expose)
|
||||
,@(map (lambda (item)
|
||||
(add-path item #:writable? #t))
|
||||
(if extra-shares
|
||||
(append share extra-shares)
|
||||
share))
|
||||
share)
|
||||
"-m" ,manifest-file
|
||||
,@command)))))))
|
||||
,@command))))))
|
||||
|
||||
(define (make-container-manifest container fhs-internal)
|
||||
"Return a scheme file-like object to be used as package manifest for FHS
|
||||
|
@ -461,9 +432,7 @@ application."
|
|||
`((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 getopt-long)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
(ice-9 getopt-long))
|
||||
(define (path->str path)
|
||||
(if (list? path)
|
||||
(string-join path "/")
|
||||
|
@ -473,13 +442,9 @@ application."
|
|||
(dest (path->str (cdr pair))))
|
||||
(unless (file-exists? dest)
|
||||
(symlink target dest))))
|
||||
(define (file-symlink file dir)
|
||||
(mkdir-p dir)
|
||||
(define (icd-symlink file)
|
||||
(new-symlink
|
||||
`(,file . (,dir ,(basename file)))))
|
||||
;; Use stat to follow links from packages like MangoHud.
|
||||
(define (get-files dir)
|
||||
(find-files (path->str dir) #:stat stat))
|
||||
`(,file . ("/usr/share/vulkan/icd.d" ,(basename file)))))
|
||||
(define fhs-option-spec
|
||||
'((asound32 (value #f))))
|
||||
(let* ((guix-env (getenv "GUIX_ENVIRONMENT"))
|
||||
|
@ -499,8 +464,8 @@ application."
|
|||
'("/run/current-system/profile/etc"
|
||||
"/run/current-system/profile/share"
|
||||
"/sbin"
|
||||
"/usr/lib"
|
||||
"/usr/share"))
|
||||
"/usr/share/vulkan/icd.d"
|
||||
"/usr/share/vulkan/implicit_layer.d")) ; Implicit layers like MangoHud
|
||||
(for-each
|
||||
new-symlink
|
||||
`((,ld.so.cache . "/etc/ld.so.cache")
|
||||
|
@ -514,65 +479,32 @@ application."
|
|||
((,union64 "lib") . "/lib64")
|
||||
((,union64 "lib") . "/run/current-system/profile/lib64")
|
||||
((,union64 "lib/locale") . "/run/current-system/locale")
|
||||
;; Despite using GUIX_LOCPATH, stil need locales in their
|
||||
;; expected location for pressure-vessel to use them.
|
||||
((,union64 "lib/locale") . "/usr/lib/locale")
|
||||
((,union64 "sbin/ldconfig") . "/sbin/ldconfig")
|
||||
((,union64 "share/mime") . "/usr/share/mime") ; Steam tray icon.
|
||||
((,union64 "share/glib-2.0") . "/usr/share/glib-2.0") ; Heroic interface.
|
||||
((,union64 "share/drirc.d") . "/usr/share/drirc.d")
|
||||
((,union64 "share/fonts") . "/usr/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")
|
||||
;; The MangoHud layer has the same file name for 64- and 32-bit,
|
||||
;; so create links with different names.
|
||||
((,union64 "share/vulkan/implicit_layer.d/MangoHud.json") .
|
||||
"/usr/share/vulkan/implicit_layer.d/MangoHud.json")
|
||||
((,union32 "share/vulkan/implicit_layer.d/MangoHud.json") .
|
||||
"/usr/share/vulkan/implicit_layer.d/MangoHud.x86.json")))
|
||||
(for-each
|
||||
(cut file-symlink <> "/usr/share/egl/egl_external_platform.d")
|
||||
(append-map
|
||||
get-files
|
||||
`((,union32 "share/egl/egl_external_platform.d")
|
||||
(,union64 "share/egl/egl_external_platform.d"))))
|
||||
(for-each
|
||||
(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"))))
|
||||
icd-symlink
|
||||
;; Use stat to follow links from packages like MangoHud.
|
||||
`(,@(find-files (string-append union32 "/share/vulkan/icd.d")
|
||||
#:directories? #t #:stat stat)
|
||||
,@(find-files (string-append union64 "/share/vulkan/icd.d")
|
||||
#:directories? #t #:stat stat)))
|
||||
;; TODO: This is not the right place for this.
|
||||
;; Newer versions of Steam won't startup if they can't copy to here
|
||||
;; (previous would output this error but continue).
|
||||
(if (file-exists? ".steam/root/bootstrap.tar.xz")
|
||||
(chmod ".steam/root/bootstrap.tar.xz" #o644))
|
||||
;; TODO: Should other environment setup also happen inside the
|
||||
;; container rather than before container is launched?
|
||||
;;
|
||||
;; Set this so that e.g. non-Steam games added to Steam will
|
||||
;; launch properly. It seems otherwise they don't make it to
|
||||
;; launching Steam's pressure-vessel container (for Proton
|
||||
;; games). Wait to set this inside the container to not cause
|
||||
;; issues on foreign distros, see
|
||||
;; <https://gitlab.com/nonguix/nonguix/-/issues/303>
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append "/lib64:/lib:/lib64/nss:/lib/nss:"
|
||||
"/lib64/vdpau:/lib/vdpau"))
|
||||
|
||||
;; Process FHS-specific command line options.
|
||||
(let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec))
|
||||
|
@ -581,7 +513,7 @@ application."
|
|||
(if asound32-opt
|
||||
(display "\n\n/etc/asound.conf configured for 32-bit.\n\n\n")
|
||||
(display (string-append "\n\n/etc/asound.conf configured for 64-bit.\nLaunch "
|
||||
#$(ngc-binary-name container)
|
||||
#$(ngc-name container)
|
||||
" with \""
|
||||
(basename #$(ngc-run container))
|
||||
" -- --asound32\" to use 32-bit instead.\n\n\n")))
|
||||
|
|
|
@ -4,14 +4,11 @@
|
|||
|
||||
(define-module (nonguix utils)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-43)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
#:use-module (ice-9 popen)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu services)
|
||||
#:export (with-transformation))
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public (to32 package64)
|
||||
"Build package for i686-linux.
|
||||
|
@ -25,45 +22,3 @@ Only x86_64-linux and i686-linux are supported.
|
|||
(arguments `(#:system "i686-linux"
|
||||
,@(package-arguments 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