Adds all expected library paths for a gecko browser

This commit is contained in:
2025-03-17 19:44:39 -05:00
committed by GigiaJ
parent 3f2b07fb19
commit 4614cb6b3b

View File

@@ -4,13 +4,62 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gtk)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
#: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
@@ -26,7 +75,63 @@
(inputs
(list
gcc-toolchain gtk+ alsa-lib libx11
bash-minimal
eudev
libnotify
libpng-apng
libva
mesa
pipewire
pulseaudio
glibc
gcc
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
))
(arguments
(list
@@ -88,20 +193,91 @@
)
)
(add-after 'create 'wrap
(lambda _
(system* "pwd")
(system* "ls" "-a")
(wrap-program (string-append #$output "/lib/floorp/floorp")
`("LD_LIBRARY_PATH" ":" prefix (
,(string-append #$(this-package-input "gcc-toolchain") "/lib")
,(string-append #$(this-package-input "gtk+") "/lib")
,(string-append #$(this-package-input "alsa-lib") "/lib")
,(string-append #$(this-package-input "libx11") "/lib")
))
`("XDG_DATA_DIRS" ":" prefix (
,(string-append #$(this-package-input "gtk+") "/share")
))
)
(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"))
'(
"libpng-apng"
"libva"
"mesa"
"pipewire"
"pulseaudio"
"glibc"
"gcc"
"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-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"))
))
(delete 'validate-runpath)