From 3b9e516a611dd16493951d5a23afaf81291df4aa Mon Sep 17 00:00:00 2001 From: G Date: Sat, 22 Feb 2025 09:52:10 -0600 Subject: [PATCH] Add Bolted.scm this should me mostly finished for Bolt Launcher to work Need tro clean up module used though for sure --- Bolted.scm | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 Bolted.scm diff --git a/Bolted.scm b/Bolted.scm new file mode 100644 index 0000000..d7dfc1c --- /dev/null +++ b/Bolted.scm @@ -0,0 +1,168 @@ +(define-module (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.10.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 libarchive glib glibc gtk hicolor-icon-theme fmt spng mesa vulkan-loader vscodium ungoogled-chromium wayland)) + (arguments + (list + #:tests? #f ; no check target + #:configure-flags + #~(list + (string-append "-D " "CMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "out")) + ;;(string-append "-D " "BOLT_DEV_SHOW_DEVTOOLS=" "1") + (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 _ + (display (assoc-ref %outputs "out")) + (symlink (string-append (assoc-ref %build-inputs "chromium-embedded-framework") "/lib/libcef.so") (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/libcef.so")) + (symlink (string-append (assoc-ref %build-inputs "chromium-embedded-framework") "/share/cef/icudtl.dat") (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/icudtl.dat")) + (symlink (string-append (assoc-ref %build-inputs "chromium-embedded-framework") "/share/cef/v8_context_snapshot.bin") (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/v8_context_snapshot.bin")) + (symlink (string-append (assoc-ref %build-inputs "vscodium") "/opt/vscodium/libGLESv2.so") (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/libGLESv2.so")) + (symlink (string-append (assoc-ref %build-inputs "vscodium") "/opt/vscodium/libEGL.so") (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/libEGL.so")) + (symlink (string-append (assoc-ref %build-inputs "vscodium") "/opt/vscodium/libvulkan.so.1") (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/libvulkan.so.1")) + (symlink (string-append (assoc-ref %build-inputs "vscodium") "/opt/vscodium/libvk_swiftshader.so") (string-append (assoc-ref %outputs "out") "/opt/bolt-launcher/libvk_swiftshader.so")) + + (display "Do nothing.") #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 \ No newline at end of file