dump
This commit is contained in:
176
modules/gunit/packages/bolt-launcher.scm
Normal file
176
modules/gunit/packages/bolt-launcher.scm
Normal file
@@ -0,0 +1,176 @@
|
||||
(define-module (gunit packages bolt-launcher)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages astronomy)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages chromium)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages engineering)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages geo)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages gps)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages javascript)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages toolkits)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build gnu-build-system)
|
||||
#:use-module (guix base16)
|
||||
#:use-module (nongnu packages chromium)
|
||||
#:use-module (nongnu packages editors)
|
||||
)
|
||||
|
||||
(define-public bolt-launcher
|
||||
(package
|
||||
(name "bolt-launcher")
|
||||
(version "0.11.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Adamcake/Bolt")
|
||||
(commit "1720eb0758221d9cd79abddf613d7335ed05e032")
|
||||
(recursive? #t)))
|
||||
|
||||
(sha256
|
||||
(base32 "075dbjsy4nkbsnd1w57l85gpqk9sg2q75gp07xykl5g3j0qgwhcx"))))
|
||||
(build-system cmake-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
chromium-embedded-framework eudev libarchive glib glibc gtk xdg-utils hicolor-icon-theme nss fmt spng mesa vulkan-loader vscodium wayland))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Can probably clean this up
|
||||
(string-append "-D " "CMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "out"))
|
||||
;;(string-append "-D " "BOLT_DEV_SHOW_DEVTOOLS=" "1")
|
||||
(string-append "-DBOLT_BINDIR=" "./bin")
|
||||
(string-append "-DBOLT_SHAREDIR=" "./share")
|
||||
(string-append "-DBOLT_LIBDIR=" "./lib")
|
||||
(string-append "-DCEF_DIR=" (assoc-ref %build-inputs "chromium-embedded-framework"))
|
||||
(string-append "-DCEF_ROOT=" (assoc-ref %build-inputs "chromium-embedded-framework"))
|
||||
(string-append "-DBOLT_CEF_RESOURCEDIR_OVERRIDE=" (assoc-ref %build-inputs "chromium-embedded-framework") "/share/cef")
|
||||
(string-append "-DBOLT_LIBCEF_DIRECTORY=" (assoc-ref %build-inputs "chromium-embedded-framework") "/lib")
|
||||
(string-append "-DBOLT_CEF_INCLUDEPATH=" (assoc-ref %build-inputs "chromium-embedded-framework"))
|
||||
(string-append "-DBOLT_CEF_DLLWRAPPER=" (assoc-ref %build-inputs "chromium-embedded-framework") "/lib/libcef_dll_wrapper.a")
|
||||
"-D BOLT_META_NAME=bolt-launcher"
|
||||
"-D BOLT_SKIP_LIBRARIES=1")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'link-cef
|
||||
(lambda _
|
||||
(map (lambda (entry)
|
||||
(let* ((source (car entry)) (file (cdr entry)))
|
||||
(symlink (string-append (assoc-ref %build-inputs source) file)
|
||||
(string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/" (basename file)))))
|
||||
(append
|
||||
(map (lambda (file) (cons "chromium-embedded-framework" file))
|
||||
'("/lib/libcef.so" "/share/cef/icudtl.dat" "/share/cef/v8_context_snapshot.bin"))
|
||||
(map (lambda (file) (cons "vscodium" file))
|
||||
'("/opt/vscodium/libGLESv2.so" "/opt/vscodium/libEGL.so"
|
||||
"/opt/vscodium/libvulkan.so.1" "/opt/vscodium/libvk_swiftshader.so"))))
|
||||
|
||||
(wrap-program (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/bolt")
|
||||
`("LD_LIBRARY_PATH" ":" prefix (
|
||||
,(string-append #$(this-package-input "mesa") "/lib")
|
||||
,(string-append #$(this-package-input "eudev") "/lib")
|
||||
,(string-append #$(this-package-input "nss") "/lib/nss")))
|
||||
`("XDG_DATA_DIRS" ":" prefix (
|
||||
,(string-append #$(this-package-input "gtk") "/share")))
|
||||
`("PATH" ":" prefix (
|
||||
,(string-append #$(this-package-input "xdg-utils") "/bin"))))
|
||||
(invoke "mv" (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/bolt") (string-append (assoc-ref %outputs "out") "/bin/bolt"))
|
||||
#t)))))
|
||||
(native-inputs (list cmake git wayland))
|
||||
(synopsis "An alternative third-party open-source launcher for RuneScape or Old School RuneScape.")
|
||||
(home-page "https://bolt.adamcake.com/")
|
||||
(description "Free open-source third-party implementation of the Jagex Launcher.")
|
||||
(license license:agpl3)))
|
||||
75
modules/gunit/packages/browsers.scm
Normal file
75
modules/gunit/packages/browsers.scm
Normal file
@@ -0,0 +1,75 @@
|
||||
(define-module (gunit packages browsers)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build copy-build-system)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages hunspell)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#: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 sdl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
#:use-module (nonguix licenses)
|
||||
#:use-module (ice-9 string-fun))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
56
modules/gunit/packages/code-server.scm
Normal file
56
modules/gunit/packages/code-server.scm
Normal file
@@ -0,0 +1,56 @@
|
||||
(define-module (gunit packages code-server)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (selected-guix-works packages fonts)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build copy-build-system))
|
||||
|
||||
|
||||
(define-public code-server
|
||||
(package
|
||||
(name "code-server")
|
||||
(version "4.102.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/coder/code-server/releases/download/v" version "/code-server-" version "-linux-amd64.tar.gz"))
|
||||
(sha256
|
||||
(base32 "1s33d8821hcpkv10643dc58m177nrsy4238fyx2qbkh3smx98p25"))))
|
||||
(build-system copy-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
gcc-toolchain
|
||||
glibc
|
||||
))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'patch-interpreter
|
||||
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(interpreter (string-append (assoc-ref inputs "glibc")
|
||||
"/lib/ld-linux-x86-64.so.2"))
|
||||
(binary (string-append out "/lib/node")))
|
||||
(invoke "patchelf" "--set-interpreter" interpreter binary))))
|
||||
(add-after 'patch-interpreter 'wrap
|
||||
(lambda _
|
||||
(wrap-program (string-append (assoc-ref %outputs "out") "/lib/node")
|
||||
`("LD_LIBRARY_PATH" ":" prefix (,(string-append #$(this-package-input "gcc-toolchain") "/lib"))))))
|
||||
(delete 'validate-runpath))))
|
||||
(native-inputs
|
||||
(list git curl patchelf))
|
||||
(synopsis "Code server used for accessing VS Code in the browser.")
|
||||
(home-page "https://coder.com/")
|
||||
(description "Free open source code server. Use a VS Code in any browser wherever you are.")
|
||||
(license license:mit)))
|
||||
69
modules/gunit/packages/custom-code-server.scm
Normal file
69
modules/gunit/packages/custom-code-server.scm
Normal file
@@ -0,0 +1,69 @@
|
||||
(define-module (gunit packages custom-code-server)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu) ; For modify-phases
|
||||
#:use-module (ice-9 ftw) ; For scandir
|
||||
#:use-module (srfi srfi-1) ; For list processing
|
||||
|
||||
#:use-module (gunit packages code-server)
|
||||
#:use-module (selected-guix-works packages fonts)
|
||||
#:use-module (gnu packages fontutils))
|
||||
|
||||
(define-public code-server-with-fonts
|
||||
(package/inherit code-server
|
||||
(name "code-server-with-fonts")
|
||||
|
||||
;; Add the font package to the regular inputs
|
||||
(inputs (append (package-inputs code-server)
|
||||
(list font-nerd-fonts-jetbrains-mono)))
|
||||
|
||||
;; Add the woff tools to the native inputs (for building)
|
||||
(native-inputs (append (package-native-inputs code-server)
|
||||
(list woff-tools)))
|
||||
|
||||
(arguments
|
||||
#~(modify-phases #$@(package-arguments code-server)
|
||||
(add-after 'wrap 'enable-font-magic
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((font-pkg-name "font-nerd-fonts-jetbrains-mono")
|
||||
(font-package (assoc-ref inputs font-pkg-name))
|
||||
(font-path (string-append font-package "/share/fonts/truetype/"))
|
||||
(font-prefix "JetBrainsMonoNerdFontMono-")
|
||||
(out (assoc-ref outputs "out"))
|
||||
(pages-dir (string-append out "/lib/vscode/out/vs/code/browser/pages/"))
|
||||
(workbench-html (string-append out "/lib/vscode/out/vs/code/browser/workbench/workbench.html")))
|
||||
|
||||
;; Helper to find all the font files in the font package
|
||||
(define (collect-font-files)
|
||||
(map (lambda (file)
|
||||
(cons font-pkg-name file))
|
||||
(filter (lambda (str) (string-prefix? font-prefix str))
|
||||
(scandir-files font-path))))
|
||||
|
||||
(let ((font-files-to-process (collect-font-files)))
|
||||
;; Create symlinks and convert fonts to woff format
|
||||
(for-each
|
||||
(lambda (font-entry)
|
||||
(let* ((source-file-name (cdr font-entry))
|
||||
(source-path (string-append font-path source-file-name))
|
||||
(dest-path (string-append pages-dir source-file-name)))
|
||||
(symlink source-path dest-path)
|
||||
(invoke "sfnt2woff" dest-path)))
|
||||
font-files-to-process)
|
||||
|
||||
;; Generate the CSS @font-face rule
|
||||
(let ((font-face-urls
|
||||
(string-join
|
||||
(map (lambda (font-entry)
|
||||
(let ((woff-file (string-append (basename (cdr font-entry) ".ttf") ".woff")))
|
||||
(string-append "url('_static/src/browser/pages/" woff-file "') format('woff')")))
|
||||
font-files-to-process)
|
||||
", ")))
|
||||
|
||||
;; Inject the CSS into the workbench HTML file
|
||||
(substitute* workbench-html
|
||||
(("</head>")
|
||||
(string-append "<style> @font-face {font-family: 'Personal'; font-style: normal; src: "
|
||||
font-face-urls
|
||||
";} </style></head>"))))))))))))
|
||||
161
modules/gunit/packages/edge.scm
Normal file
161
modules/gunit/packages/edge.scm
Normal file
@@ -0,0 +1,161 @@
|
||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2022, 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2022 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
|
||||
(define-module (gchannel packages edge)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#: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)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
#:use-module (nonguix licenses)
|
||||
#:use-module (ice-9 string-fun))
|
||||
|
||||
(define-public (make-microsoft-edge repo version hash)
|
||||
(let* ((name (string-append "microsoft-edge-" repo))
|
||||
(appname (if (string=? repo "stable")
|
||||
"edge"
|
||||
(string-replace-substring name "microsoft-" ""))))
|
||||
(package
|
||||
(name name)
|
||||
(version version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://packages.microsoft.com/repos/edge/pool/main/m/"
|
||||
name "/" name "_" version "-1_amd64.deb"))
|
||||
(sha256
|
||||
(base32 hash))))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; almost 300MB, faster to download and build from Google servers
|
||||
#:substitutable? #f
|
||||
#:wrapper-plan
|
||||
#~(let ((path (string-append "opt/microsoft/" "ms" #$appname "/")))
|
||||
(map (lambda (file)
|
||||
(string-append path file))
|
||||
'("msedge"
|
||||
"msedge-sandbox"
|
||||
"msedge_crashpad_handler"
|
||||
"libEGL.so"
|
||||
"libGLESv2.so"
|
||||
;;"libaugloop_client.so"
|
||||
"liblearning_tools.so"
|
||||
;;"libmicrosoft-apis.so"
|
||||
"libmip_core.so"
|
||||
"libmip_protection_sdk.so"
|
||||
"liboneauth.so"
|
||||
"liboneds.so"
|
||||
"libqt5_shim.so"
|
||||
"libqt6_shim.so"
|
||||
;; "libsmartscreenn.so"
|
||||
"libtelclient.so"
|
||||
"libvk_swiftshader.so"
|
||||
"libvulkan.so.1"
|
||||
"libwns_push_client.so"
|
||||
"WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))
|
||||
#:install-plan
|
||||
#~'(("opt/" "/share")
|
||||
("usr/share/" "/share"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'patch-assets
|
||||
;; Many thanks to
|
||||
;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/microsoft-edge/default.nix
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(share (string-append #$output "/share"))
|
||||
(opt "./opt")
|
||||
(usr/share "./usr/share")
|
||||
(old-exe (string-append "/opt/microsoft/msedge/microsoft-" #$appname))
|
||||
(exe (string-append bin "/microsoft-" #$appname)))
|
||||
;; This allows us to override CHROME_WRAPPER later.
|
||||
(substitute* (string-append opt "/microsoft/msedge/microsoft-" #$appname)
|
||||
(("CHROME_WRAPPER") "WRAPPER"))
|
||||
(substitute* (string-append usr/share "/applications/microsoft-" #$appname ".desktop")
|
||||
(("^Exec=.*") (string-append "Exec=" exe "\n")))
|
||||
(substitute* (string-append usr/share "/gnome-control-center/default-apps/microsoft-" #$appname ".xml")
|
||||
((old-exe) exe))
|
||||
(substitute* (string-append usr/share "/menu/microsoft-" #$appname ".menu")
|
||||
(("/opt") share)
|
||||
((old-exe) exe)))))
|
||||
(add-after 'install 'install-icons
|
||||
(lambda _
|
||||
(define (format-icon-size name)
|
||||
(car
|
||||
(string-split
|
||||
(string-drop-right (string-drop name 13) 4)
|
||||
#\_)))
|
||||
(let ((icons (string-append #$output "/share/icons/hicolor"))
|
||||
(share (string-append #$output "/share/microsoft/msedge")))
|
||||
(for-each (lambda (icon)
|
||||
(let* ((icon-name (basename icon))
|
||||
(icon-size (format-icon-size icon-name))
|
||||
(target (string-append icons "/" icon-size "x" icon-size "/apps/microsoft-" #$appname ".png")))
|
||||
(mkdir-p (dirname target))
|
||||
(rename-file icon target)))
|
||||
(find-files share "product_logo_.*\\.png")))))
|
||||
(add-before 'install-wrapper 'install-exe
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(exe (string-append bin "/microsoft-edge"))
|
||||
(share (string-append #$output "/share"))
|
||||
(edge-target (string-append share "/microsoft/msedge/microsoft-edge")))
|
||||
(mkdir-p bin)
|
||||
(symlink edge-target exe)
|
||||
(wrap-program exe
|
||||
'("CHROME_WRAPPER" = (#$appname))))))
|
||||
)))
|
||||
|
||||
(inputs
|
||||
(list bzip2
|
||||
curl
|
||||
flac
|
||||
font-liberation
|
||||
gdk-pixbuf
|
||||
gtk
|
||||
harfbuzz
|
||||
libexif
|
||||
libglvnd
|
||||
libpng
|
||||
libva
|
||||
libxscrnsaver
|
||||
opus
|
||||
pciutils
|
||||
pipewire
|
||||
qtbase-5
|
||||
qtbase
|
||||
snappy
|
||||
util-linux
|
||||
xdg-utils
|
||||
wget))
|
||||
(synopsis "Freeware web browser")
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(description "Microsoft Edge is a cross-platform web browser developed by Microsoft using Chromium.")
|
||||
(home-page "https://www.microsoft.com/edge/")
|
||||
(license (nonfree "https://www.microsoft.com/intl/en/edge/terms/")))))
|
||||
|
||||
(define-public microsoft-edge-stable
|
||||
(make-microsoft-edge "stable" "137.0.3296.93" "0x1hr3a6dmcv6al7ns945qmkjanlhb4nd005jmcywy9z8klj2bs8"))
|
||||
|
||||
(define-public microsoft-edge-beta
|
||||
(make-microsoft-edge "beta" "138.0.3351.42" "0d4m38xbnpbb98y5xz9h5rzzcfshl01c2l3f794jg6al20yc2jj7"))
|
||||
244
modules/gunit/packages/floorp.scm
Normal file
244
modules/gunit/packages/floorp.scm
Normal file
@@ -0,0 +1,244 @@
|
||||
(define-module (gchannel packages floorp)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build copy-build-system)
|
||||
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages hunspell)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#: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 sdl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages vulkan)
|
||||
)
|
||||
|
||||
(define-public floorp
|
||||
(package
|
||||
(name "floorp")
|
||||
(version "12.0.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Floorp-Projects/Floorp/releases/download/v" version "/floorp-linux-amd64.tar.xz"))
|
||||
(sha256
|
||||
(base32 "000a8yh0jabs1phsw56qknxh9ap1gm5asb7q5nnx4gwiyqnaig3s"))))
|
||||
(build-system copy-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
alsa-lib
|
||||
gcc-toolchain
|
||||
bash-minimal
|
||||
eudev
|
||||
libnotify
|
||||
libpng-apng
|
||||
libva
|
||||
mesa
|
||||
pipewire
|
||||
pulseaudio
|
||||
glibc
|
||||
gtk+
|
||||
libdrm
|
||||
llvm-for-mesa
|
||||
expat
|
||||
zlib
|
||||
zstd
|
||||
spirv-tools
|
||||
libxcb
|
||||
libxshmfence
|
||||
elfutils
|
||||
libx11
|
||||
wayland
|
||||
libxext
|
||||
libxxf86vm
|
||||
ffmpeg
|
||||
libvpx
|
||||
libwebp
|
||||
xz
|
||||
dav1d
|
||||
libaom
|
||||
lame
|
||||
opus
|
||||
rav1e
|
||||
speex
|
||||
svt-av1
|
||||
libtheora
|
||||
libogg
|
||||
twolame
|
||||
libvorbis
|
||||
libx264
|
||||
x265
|
||||
xvid
|
||||
soxr
|
||||
libvdpau
|
||||
sdl2
|
||||
openal
|
||||
libcdio-paranoia
|
||||
libcdio
|
||||
libcaca
|
||||
libass
|
||||
vidstab
|
||||
fontconfig
|
||||
freetype
|
||||
bzip2
|
||||
libbluray
|
||||
gnutls
|
||||
pciutils
|
||||
))
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan #~'(("." "lib/floorp"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'validate-runpath) ;; Technically we could patch the shared libs, but it isn't needed.
|
||||
(add-after 'install 'patch-interpreter
|
||||
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(interpreter (string-append (assoc-ref inputs "glibc")
|
||||
"/lib/ld-linux-x86-64.so.2"))
|
||||
(binary (string-append out "/lib/floorp/floorp")))
|
||||
(invoke "patchelf" "--set-interpreter" interpreter binary))))
|
||||
(add-after 'patch-interpreter 'create
|
||||
(lambda _
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
;;(mkdir-p (string-append #$output "/share/icons/hicolor"))
|
||||
)
|
||||
)
|
||||
(add-after 'create 'install-icons
|
||||
(lambda _
|
||||
(let ((icons (string-append #$output "/share/icons/hicolor"))
|
||||
(share (string-append #$output "/lib/floorp/browser/chrome/icons")))
|
||||
(for-each (lambda (icon)
|
||||
(let* ((icon-name (basename icon))
|
||||
(icon-size (string-drop-right (string-drop icon-name 7) 4))
|
||||
(target (string-append icons "/" icon-size "x" icon-size "/apps/" "floorp" ".png")))
|
||||
(mkdir-p (dirname target))
|
||||
(rename-file icon target)))
|
||||
(find-files share "default.*\\.png")))
|
||||
)
|
||||
)
|
||||
(add-after 'install-icons 'install-share
|
||||
(lambda _
|
||||
(display "cat")
|
||||
(let* ((exec-path (string-append #$output "/bin/floorp %u"))
|
||||
(icon-path (string-append #$output "/share/icons/hicolor/128x128/apps/floorp.png")))
|
||||
(define desktop-entry
|
||||
`((Version . "1.0")
|
||||
(Name . "Floorp")
|
||||
(GenericName . "Web Browser")
|
||||
(Comment . "Your web, the way you like it")
|
||||
(Exec . ,exec-path)
|
||||
(Icon . ,icon-path)
|
||||
(Terminal . false)
|
||||
(Type . "Application")
|
||||
(StartupWMClass . "Floorp")
|
||||
(MimeType . "text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;")
|
||||
(Startup-Notify . true)
|
||||
(X-MultipleArgs . false)
|
||||
(X-Desktop-File-Install-Version . "0.16")
|
||||
(Categories . "Network;WebBrowser;")
|
||||
(Encoding . "UTF-8")))
|
||||
|
||||
(define (write-desktop-entry file-name entry)
|
||||
(call-with-output-file file-name
|
||||
(lambda (port)
|
||||
(format port "[Desktop Entry]~%")
|
||||
(for-each
|
||||
(lambda (field)
|
||||
(format port "~a=~a~%" (car field) (cdr field)))
|
||||
entry))))
|
||||
|
||||
(mkdir-p (string-append #$output "/share/applications"))
|
||||
(write-desktop-entry (string-append #$output "/share/applications/" "floorp.desktop") desktop-entry))
|
||||
)
|
||||
)
|
||||
(add-after 'create 'wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib/floorp"))
|
||||
(libs (map
|
||||
(lambda (lib-name)
|
||||
(string-append (assoc-ref inputs
|
||||
lib-name)
|
||||
"/lib"))
|
||||
'(
|
||||
"alsa-lib" "libpng-apng" "libva" "mesa" "pipewire" "pulseaudio" "glibc"
|
||||
"gcc-toolchain" "libdrm" "llvm-for-mesa" "expat" "zlib" "zstd" "spirv-tools"
|
||||
"libxcb" "libxshmfence" "elfutils" "libx11" "wayland" "libxext" "libxxf86vm"
|
||||
"ffmpeg" "libvpx" "libwebp" "xz" "dav1d" "libaom" "lame" "opus" "rav1e"
|
||||
"speex" "svt-av1" "libtheora" "libogg" "twolame" "libvorbis" "libx264"
|
||||
"x265" "xvid" "soxr" "libvdpau" "sdl2" "openal" "libcdio-paranoia"
|
||||
"libcdio" "libcaca" "libass" "vidstab" "fontconfig-minimal" "freetype"
|
||||
"bzip2" "libbluray" "gnutls" "gtk+" "pciutils"
|
||||
)))
|
||||
(gtk-share (string-append (assoc-ref inputs "gtk+") "/share")))
|
||||
(display libs)
|
||||
(wrap-program (car (find-files lib "^glxtest$"))
|
||||
`("LD_LIBRARY_PATH" prefix ,libs))
|
||||
(wrap-program (car (find-files lib "^floorp$"))
|
||||
`("LD_LIBRARY_PATH" prefix (,@libs))
|
||||
`("XDG_DATA_DIRS" prefix (,gtk-share))
|
||||
`("MOZ_LEGACY_PROFILES" = ("1"))
|
||||
`("MOZ_ALLOW_DOWNGRADE" = ("1")))
|
||||
)
|
||||
|
||||
(invoke "mv" (string-append #$output "/lib/floorp/floorp") (string-append #$output "/bin/floorp")))))))
|
||||
(native-inputs
|
||||
(list git patchelf))
|
||||
(synopsis "A highly customizable Firefox-based (Gecko) browser")
|
||||
(home-page "https://floorp.app/")
|
||||
(description "Floorp is the first Firefox-based browser to enable UI customization, designed so that anyone can easily
|
||||
adjust their browsing experience to their preferences and access the web with ease.")
|
||||
(license
|
||||
(name "floorp-shared-source")
|
||||
(uri "https://github.com/Floorp-Projects/Floorp-private-components/blob/main/LICENSE")
|
||||
(comment "Floorp Shared Source License: non-commercial use only, modification allowed, no sublicensing, attribution required."))))
|
||||
82
modules/gunit/packages/linux.scm
Normal file
82
modules/gunit/packages/linux.scm
Normal file
@@ -0,0 +1,82 @@
|
||||
(define-module (guint packages linux)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (nongnu packages linux))
|
||||
|
||||
(define-public linux-t2-patches
|
||||
(package
|
||||
(name "linux-t2-patches")
|
||||
(version "6.12")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/t2linux/linux-t2-patches.git")
|
||||
(commit "54606b8797c539da9782dcbb16456fdf92d74f12")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ig7373xl5vqfpblh0sh4z8vgks4hq761j58lyns5cw2n648xl61"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Disable the 'check' phase
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure (lambda _ #t))
|
||||
(replace 'build (lambda _ #t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p out)
|
||||
(copy-recursively "." out))
|
||||
#t)))))
|
||||
|
||||
(synopsis "Patch set for running Linux on T2-based Macs")
|
||||
(description "This package provides a set of patches from the t2linux project
|
||||
to enable support for the Apple T2 security chip and related hardware.")
|
||||
(home-page "https://github.com/t2linux/linux-t2-patches")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define (mbp-t2-extra-options)
|
||||
'(("CONFIG_SPI_APPLE" . y)
|
||||
("CONFIG_APPLE_BCE" . y)
|
||||
("CONFIG_APPLE_DCP" . y)
|
||||
("CONFIG_PINCTRL_APPLE_GPIO" . y)))
|
||||
|
||||
(define-public linux-kernel-mbp-t2
|
||||
(package
|
||||
(inherit linux-6.12)
|
||||
(name "linux-kernel-mbp-t2")
|
||||
(synopsis "Linux kernel for Macs with the T2 chip")
|
||||
(description "This package provides a Linux kernel with patches applied to support hardware found in Apple T2-based MacBooks.")
|
||||
(license license:gpl2+)
|
||||
|
||||
(native-inputs
|
||||
(append (package-native-inputs linux-6.12)
|
||||
`(("t2-patches" ,linux-t2-patches))))
|
||||
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments linux-6.12)
|
||||
((#:native-inputs native-inputs)
|
||||
#~(cons* (list "t2-patches" ,linux-t2-patches)
|
||||
#$native-inputs))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'apply-t2-patches
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(use-modules (guix build utils))
|
||||
(let ((patch-dir (assoc-ref inputs "t2-patches")))
|
||||
(let ((patch-files (find-files patch-dir "\\.patch$")))
|
||||
(format #t "Applying ~a T2 patches...~%" (length patch-files))
|
||||
(for-each
|
||||
(lambda (patch)
|
||||
(invoke "patch" "-p1" "-i" patch))
|
||||
(sort patch-files string<))
|
||||
#t))))))
|
||||
((#:kernel-config config)
|
||||
#~(kernel-config-union #$config
|
||||
(kernel-config #:configs (mbp-t2-extra-options))))))))
|
||||
61
modules/gunit/packages/obs-plugins.scm
Normal file
61
modules/gunit/packages/obs-plugins.scm
Normal file
@@ -0,0 +1,61 @@
|
||||
(define-module (guint packages obs-plugins)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public obs-droidcam
|
||||
(package
|
||||
(name "obs-droidcam")
|
||||
(version "2.3.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dev47apps/droidcam-obs-plugin")
|
||||
(commit version)
|
||||
(recursive? #t)))
|
||||
(sha256
|
||||
(base32 "0q4nbfd7xly44psmv2hb3bimcx5mp20vw8z10dqsvrsasy2hnqr9"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
obs libusbmuxd libjpeg-turbo libimobiledevice ffmpeg))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:make-flags
|
||||
#~(list
|
||||
(string-append "LIBUSBMUXD=" "libusbmuxd-2.0") ;;(assoc-ref %outputs "out")
|
||||
(string-append "LIBIMOBILEDEV=" "libimobiledevice-1.0")
|
||||
(string-append "LIBOBS_INCLUDES=" #$(this-package-input "obs") "/include/obs")
|
||||
(string-append "FFMPEG_INCLUDES=" #$(this-package-input "ffmpeg") "/include")
|
||||
(string-append "ALLOWSTATIC=" "no"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'build 'configure-directory
|
||||
(lambda _
|
||||
(mkdir-p "build")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(mkdir-p (string-append (assoc-ref %outputs "out") "/lib/obs-plugins"))
|
||||
(mkdir-p (string-append (assoc-ref %outputs "out") "/share/obs/obs-plugins"))
|
||||
(invoke "cp" "./build/droidcam-obs.so" (string-append (assoc-ref %outputs "out") "/lib/obs-plugins/droidcam-obs.so"))
|
||||
(invoke "cp" "-r" "./data/locale" (string-append (assoc-ref %outputs "out") "/share/obs/obs-plugins/droidcam-obs")) #t)))))
|
||||
|
||||
(native-inputs
|
||||
(list git pkg-config))
|
||||
(synopsis "Droidcam OBS plugin")
|
||||
(home-page "https://dev47apps.com/obs/")
|
||||
(description "A plugin for OBS to enable droidcam which allows you to use your phone as a webcam (and even a mic). Supports iOS and Android.")
|
||||
(license license:gpl2)))
|
||||
31
modules/gunit/packages/patches/add-font-to-code-server.scm
Normal file
31
modules/gunit/packages/patches/add-font-to-code-server.scm
Normal file
@@ -0,0 +1,31 @@
|
||||
;; woff-tools
|
||||
;; font-nerd-fonts-jetbrains-mono
|
||||
|
||||
(add-after 'wrap 'enable-font-magic
|
||||
(lambda _
|
||||
(let ((font-package "font-nerd-fonts-jetbrains-mono")
|
||||
(font-path "/share/fonts/truetype/")
|
||||
(font-prefix "JetBrainsMonoNerdFontMono-"))
|
||||
(use-modules (ice-9 ftw)
|
||||
(srfi srfi-1)) ; For list processing
|
||||
(define (collect-files-with-prefix directory prefix)
|
||||
(filter (lambda (str) (string-prefix? prefix str)) (cddr (scandir directory))))
|
||||
(map (lambda (entry)
|
||||
(let* ((source (car entry)) (file (cdr entry)))
|
||||
(symlink (string-append (assoc-ref %build-inputs source) font-path file)
|
||||
(string-append (assoc-ref %outputs "out") "/src/browser/pages/" (basename file)))
|
||||
(system* "sfnt2woff" (string-append (assoc-ref %outputs "out") "/src/browser/pages/" (basename file)))
|
||||
))
|
||||
(append
|
||||
(map (lambda (file) (cons font-package file))
|
||||
(collect-files-with-prefix (string-append (assoc-ref %build-inputs font-package) font-path) font-prefix)
|
||||
)))
|
||||
(let ((font-files (string-join
|
||||
(map
|
||||
(lambda (x)
|
||||
(string-append "url('_static/src/browser/pages/" (substring x 0 (- (string-length x) 4)) ".woff') format('woff')" ))
|
||||
(collect-files-with-prefix (string-append (assoc-ref %build-inputs font-package) font-path) font-prefix))
|
||||
","
|
||||
)))
|
||||
(system* "sed" "-i" (string-append "s|</head>|<style> @font-face {font-family: 'Personal';font-style: normal;src:" font-files ";}\\</style></head>|g") (string-append #$output "/lib/vscode/out/vs/code/browser/workbench/workbench.html"))
|
||||
))))
|
||||
245
modules/gunit/packages/runescape-launcher.scm
Normal file
245
modules/gunit/packages/runescape-launcher.scm
Normal file
@@ -0,0 +1,245 @@
|
||||
(define-module (gunit packages runescape-launcher)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module ((nonguix licenses) #:prefix license:)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages certs)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages debian)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libbsd)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (nongnu packages nvidia)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages toolkits)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
#:use-module (nonguix multiarch-container)
|
||||
#:use-module (nonguix utils))
|
||||
|
||||
|
||||
(define runescape-launcher
|
||||
(package
|
||||
(name "runescape-launcher")
|
||||
(version "2.2.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://content.runescape.com/downloads/ubuntu/pool/non-free/r/" name "/" name "_" version "_amd64.deb"))
|
||||
|
||||
(sha256
|
||||
(base32 "00krw818s15bc38v9qv4ggk32704czjlw9c7vggg3vxxdhxvvscq"))))
|
||||
(build-system copy-build-system)
|
||||
|
||||
(inputs
|
||||
(list
|
||||
cairo gcc glib glibc gtk libcap libglvnd libsm libx11 libxxf86vm openssl pango sdl2 zlib))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(invoke "dpkg-deb" "-x" source ".")
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(delete `build)
|
||||
(add-before 'install 'patch-elf-interpreter
|
||||
(lambda _
|
||||
(display (invoke "ls" "-a" "./usr/share/games/runescape-launcher"))
|
||||
;;(invoke "setcap" "cap_net_raw+ep" "./usr/share/games/runescape-launcher/runescape")
|
||||
(substitute* "./usr/bin/runescape-launcher"
|
||||
(("unset XMODIFIERS") (string-append "$envVarsWithXmodifiers"))
|
||||
(("/usr/share/games/runescape-launcher/runescape")
|
||||
(string-append (assoc-ref %outputs "out") "/usr/share/games/runescape-launcher/runescape")))
|
||||
(display "catssss")
|
||||
|
||||
(let ((glibc (assoc-ref %build-inputs "glibc"))
|
||||
(elf-file "./usr/share/games/runescape-launcher/runescape"))
|
||||
(invoke "patchelf" "--set-interpreter" (string-append glibc "/lib/ld-linux-x86-64.so.2") elf-file))
|
||||
#t))
|
||||
;; (delete 'install)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(native-inputs
|
||||
(list unzip dpkg patchelf iputils))
|
||||
(synopsis "A client for RuneScape")
|
||||
(home-page "https://www.runescape.com/")
|
||||
(description "RuneScape Game Client (NXT)")
|
||||
(license
|
||||
(name "runescape-launcher-proprietary")
|
||||
(uri "https://www.jagex.com/en-GB/terms")
|
||||
(comment "Launcher that downloads the proprietary RuneScape client from Jagex. Not redistributable."))))
|
||||
|
||||
(define steam-client-libs
|
||||
`(("at-spi2-core" ,at-spi2-core) ; Required (often) for SteamVR interface.
|
||||
("bash" ,bash) ; Required for steam startup.
|
||||
("cairo", cairo)
|
||||
("coreutils" ,coreutils)
|
||||
("diffutils" ,diffutils)
|
||||
("dbus-glib" ,dbus-glib) ; Required for steam browser.
|
||||
("elfutils" ,elfutils) ; Required for capturing library dependencies in pv.
|
||||
("eudev" ,eudev) ; Required for steamwebhelper/heavy runtime.
|
||||
("expat" ,expat) ; Needed for RS3
|
||||
("fontconfig" ,fontconfig) ; Required for steam client.
|
||||
("file" ,file) ; Used for steam installation.
|
||||
("find" ,findutils) ; Required at least for some logging.
|
||||
("fmt" ,fmt) ; Needed for RS3
|
||||
("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")
|
||||
("glib" ,glib)
|
||||
("glibc" ,glibc)
|
||||
("grep" ,grep)
|
||||
("gtk+" ,gtk+)
|
||||
("gtk" ,gtk+-2)
|
||||
("libbsd" ,libbsd)
|
||||
("libcap" ,libcap) ; Required for SteamVR, but needs pkexec too.
|
||||
("libdrm" ,libdrm) ; Needed for RS3
|
||||
("libglvnd" ,libglvnd)
|
||||
("libusb" ,libusb) ; Required for SteamVR.
|
||||
("libsm" ,libsm)
|
||||
("libxcb" ,libxcb) ; Needed for RS3
|
||||
("libxcomposite" ,libxcomposite) ; Needed for RS3
|
||||
("libxext" ,libxext) ; Needed for RS3
|
||||
("libxkbcommon" ,libxkbcommon) ; Needed for RS3
|
||||
("libva" ,libva) ; Required for hardware video encoding/decoding.
|
||||
("libvdpau" ,libvdpau) ; Required for hardware video encoding/decoding.
|
||||
("libvdpau-va-gl" ,libvdpau-va-gl) ; Additional VDPAU support.
|
||||
("libx11" ,libx11)
|
||||
("libxdamage" ,libxdamage) ; Needed for RS3
|
||||
("libxfixes" ,libxfixes) ; Needed for RS3
|
||||
("libxxf86vm" ,libxxf86vm)
|
||||
("llvm" ,llvm-for-mesa) ; Required for mesa.
|
||||
("lsof" ,lsof) ; Required for some friend's list actions.
|
||||
("mesa" ,mesa) ; Required for steam startup.
|
||||
("nspr" ,nspr) ; Required for RS3
|
||||
("nss-certs" ,nss-certs) ; Required for steam login.
|
||||
("nss" ,nss) ; Needed for RS3
|
||||
("pango" ,pango)
|
||||
("pciutils" ,pciutils) ; Tries to run lspci at steam startup.
|
||||
("procps" ,procps)
|
||||
("openssl" ,openssl-1.1)
|
||||
("sed" ,sed)
|
||||
("sdl2" ,sdl2)
|
||||
("tar" ,tar)
|
||||
("usbutils" ,usbutils) ; Required for SteamVR.
|
||||
("util-linux" ,util-linux) ; Required for steam login.
|
||||
("wayland" ,wayland) ; Required for mesa vulkan (e.g. libvulkan_radeon).
|
||||
("xdg-user-dirs" ,xdg-user-dirs) ; Suppress warning of missing xdg-user-dir.
|
||||
("flatpak-xdg-utils" ,flatpak-xdg-utils)
|
||||
("xz" ,xz)
|
||||
("zenity" ,zenity)
|
||||
("zlib" ,zlib)
|
||||
)) ; Required for progress dialogs.
|
||||
|
||||
(define steam-gameruntime-libs
|
||||
`(("alsa-lib" ,alsa-lib) ; Required for audio in most games.
|
||||
("alsa-plugins:pulseaudio" ,alsa-plugins "pulseaudio") ; Required for audio in most games.
|
||||
("font-dejavu" ,font-dejavu)
|
||||
("font-liberation" ,font-liberation)
|
||||
("imgui" ,imgui-1.86) ; Required for MangoHud.
|
||||
("mangohud" ,mangohud)
|
||||
("openal" ,openal) ; Prevents corrupt audio in Crypt of the Necrodancer.
|
||||
("pulseaudio" ,pulseaudio) ; Prevents corrupt audio in Sven Coop.
|
||||
("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 steam-ld.so.conf
|
||||
(packages->ld.so.conf
|
||||
(list (fhs-union steam-container-libs
|
||||
#:name "fhs-union-64")
|
||||
(fhs-union steam-container-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 runescape-container
|
||||
(nonguix-container
|
||||
(name "runescape")
|
||||
(wrap-package runescape-launcher)
|
||||
(run "/usr/bin/runescape-launcher")
|
||||
(ld.so.conf steam-ld.so.conf)
|
||||
(ld.so.cache steam-ld.so.cache)
|
||||
(union64
|
||||
(fhs-union steam-container-libs
|
||||
#:name "fhs-union-64"))
|
||||
(union32
|
||||
(fhs-union steam-container-libs
|
||||
#:name "fhs-union-32"
|
||||
#:system "i686-linux"))
|
||||
(link-files '("usr"))
|
||||
(description "Runescape.")))
|
||||
|
||||
(define-public runescape (nonguix-container->package runescape-container))
|
||||
149
modules/gunit/packages/vivaldi.scm
Normal file
149
modules/gunit/packages/vivaldi.scm
Normal file
@@ -0,0 +1,149 @@
|
||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2022, 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2022 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
|
||||
(define-module (gchannel packages vivaldi)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#: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)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (nonguix build-system chromium-binary)
|
||||
#:use-module (nonguix licenses)
|
||||
#:use-module (ice-9 string-fun))
|
||||
|
||||
(define-public (make-vivaldi repo version hash)
|
||||
(let* ((name (string-append "vivaldi" "-" repo))
|
||||
(appname "vivaldi"))
|
||||
(package
|
||||
(name name)
|
||||
(version version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://downloads.vivaldi.com/stable/"
|
||||
name "_" version "-1_amd64.deb"))
|
||||
(sha256
|
||||
(base32 hash))))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:substitutable? #f
|
||||
#:wrapper-plan
|
||||
#~(let ((path (string-append "opt/vivaldi/")))
|
||||
(map (lambda (file)
|
||||
(string-append path file))
|
||||
'("vivaldi-bin"
|
||||
"vivaldi-sandbox"
|
||||
"chrome_crashpad_handler"
|
||||
"libEGL.so"
|
||||
"libGLESv2.so"
|
||||
"libqt5_shim.so"
|
||||
"libqt6_shim.so"
|
||||
"libvk_swiftshader.so"
|
||||
"libvulkan.so.1"
|
||||
;;"WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
||||
)))
|
||||
#:install-plan
|
||||
#~'(("opt/" "/share")
|
||||
("usr/share/" "/share"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'patch-assets
|
||||
;; Many thanks to
|
||||
;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/vivaldi/default.nix
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(share (string-append #$output "/share"))
|
||||
(opt "./opt")
|
||||
(usr/share "./usr/share")
|
||||
(old-exe (string-append "/opt/vivaldi/" #$appname))
|
||||
(exe (string-append bin "/vivaldi")))
|
||||
;; This allows us to override CHROME_WRAPPER later.
|
||||
(substitute* (string-append opt "/vivaldi/vivaldi")
|
||||
(("CHROME_WRAPPER") "WRAPPER"))
|
||||
(substitute* (string-append usr/share "/applications/vivaldi-stable.desktop")
|
||||
(("^Exec=.*") (string-append "Exec=" exe "\n")))
|
||||
(rename-file (string-append usr/share "/applications/vivaldi-stable.desktop") (string-append usr/share "/applications/vivaldi.desktop"))
|
||||
;;(substitute* (string-append usr/share "/gnome-control-center/default-apps/vivaldi.xml")
|
||||
;; ((old-exe) exe))
|
||||
(substitute* (string-append usr/share "/menu/vivaldi" ".menu")
|
||||
(("/opt") share)
|
||||
((old-exe) exe)))))
|
||||
(add-after 'install 'install-icons
|
||||
(lambda _
|
||||
(define (format-icon-size name)
|
||||
(car
|
||||
(string-split
|
||||
(string-drop-right (string-drop name 13) 4)
|
||||
#\_)))
|
||||
(let ((icons (string-append #$output "/share/icons/hicolor"))
|
||||
(share (string-append #$output "/share/vivaldi")))
|
||||
(for-each (lambda (icon)
|
||||
(let* ((icon-name (basename icon))
|
||||
(icon-size (format-icon-size icon-name))
|
||||
(target (string-append icons "/" icon-size "x" icon-size "/apps/" #$appname ".png")))
|
||||
(mkdir-p (dirname target))
|
||||
(rename-file icon target)))
|
||||
(find-files share "product_logo_.*\\.png")))))
|
||||
|
||||
(add-before 'install-wrapper 'install-exe
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(exe (string-append bin "/" #$appname))
|
||||
(share (string-append #$output "/share"))
|
||||
(chromium-target (string-append #$output "/share/vivaldi/" #$appname )))
|
||||
(mkdir-p bin)
|
||||
(symlink chromium-target exe)
|
||||
(wrap-program exe
|
||||
'("CHROME_WRAPPER" = (#$appname))
|
||||
)))))))
|
||||
(inputs
|
||||
(list bzip2
|
||||
curl
|
||||
flac
|
||||
font-liberation
|
||||
gdk-pixbuf
|
||||
gtk
|
||||
harfbuzz
|
||||
libexif
|
||||
libglvnd
|
||||
libpng
|
||||
libva
|
||||
libxscrnsaver
|
||||
opus
|
||||
pciutils
|
||||
pipewire
|
||||
qtbase-5
|
||||
qtbase
|
||||
snappy
|
||||
util-linux
|
||||
xdg-utils
|
||||
wget))
|
||||
(synopsis "Freeware web browser")
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(description "Vivaldi is a highly customizable browser developed by Vivaldi.")
|
||||
(home-page "https://vivaldi.com/")
|
||||
(license (nonfree "https://vivaldi.com/privacy/browser/")))))
|
||||
|
||||
(define-public vivaldi-stable
|
||||
(make-vivaldi "stable" "7.1.3570.54" "1jslsckrv8xwnc4xlrxjiqqpkb74fz51r4yp92p5lr5zj0iayvkh"))
|
||||
|
||||
vivaldi-stable
|
||||
41
modules/gunit/services/code-server.scm
Normal file
41
modules/gunit/services/code-server.scm
Normal file
@@ -0,0 +1,41 @@
|
||||
;; ~/.config/guix/services/code-server.scm
|
||||
|
||||
(define-module (services code-server)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services home)
|
||||
#:use-module (shepherd support)
|
||||
#:export (home-code-server-service-type))
|
||||
|
||||
(define (code-server-service config)
|
||||
;; This procedure defines a Shepherd service to run and manage code-server,
|
||||
;; which provides a web-based instance of VS Code. The service ensures
|
||||
;; code-server starts automatically and restarts if it crashes.
|
||||
(list
|
||||
(shepherd-service
|
||||
(documentation "Run the code-server backend.")
|
||||
(provision '(code-server)) ;; Ensure the code-server package is available.
|
||||
(modules '((shepherd support)))
|
||||
|
||||
;; Start the service by directly executing the binary from its package path.
|
||||
;; All output is redirected to a dedicated log file in the user's home directory.
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append (specification->package "code-server") "/bin/code-server"))
|
||||
#:log-file (string-append %user-log-dir "/code-server.log")))
|
||||
|
||||
;; To stop the service, simply send a kill signal to the process.
|
||||
(stop #~(make-kill-destructor))
|
||||
|
||||
;; Automatically respawn the service if it terminates unexpectedly.
|
||||
(respawn? #t))))
|
||||
|
||||
(define code-server-service-type
|
||||
(service-type
|
||||
(name 'code-server)
|
||||
;; This links our custom 'code-server-service' implementation to the main user Shepherd service.
|
||||
(extensions (list (service-extension home-shepherd-service-type code-server-service)))
|
||||
;; The #t default value means the service will be active unless explicitly disabled.
|
||||
(default-value #t)
|
||||
(description "A user service to run a VS Code instance in the browser.")))
|
||||
Reference in New Issue
Block a user