185 lines
7.8 KiB
Scheme
185 lines
7.8 KiB
Scheme
(define-module (gchannel 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 "Soup")
|
|
(home-page "https://bolt.adamcake.com/")
|
|
(description "Free open-source third-party implementation of the Jagex Launcher")
|
|
(license license:agpl3)))
|
|
|
|
bolt-launcher |