From 4614cb6b3bb61d7589ced250fbee21c5ba1817bb Mon Sep 17 00:00:00 2001 From: Gigiaj Date: Mon, 17 Mar 2025 19:44:39 -0500 Subject: [PATCH] Adds all expected library paths for a gecko browser --- gchannel/packages/floorp.scm | 216 +++++++++++++++++++++++++++++++---- 1 file changed, 196 insertions(+), 20 deletions(-) diff --git a/gchannel/packages/floorp.scm b/gchannel/packages/floorp.scm index 8081f78..8f37404 100644 --- a/gchannel/packages/floorp.scm +++ b/gchannel/packages/floorp.scm @@ -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)