From 23e04f02eb6bb03b16ad336aa073a83e24cd2e6a Mon Sep 17 00:00:00 2001 From: Jaggar <18173108+GigiaJ@users.noreply.github.com> Date: Thu, 13 Feb 2025 20:48:10 -0600 Subject: [PATCH] Create Bolt.scm --- .guix-channel | 26 +++++++++ Bolt.scm | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 .guix-channel create mode 100644 Bolt.scm diff --git a/.guix-channel b/.guix-channel new file mode 100644 index 0000000..ea38e7a --- /dev/null +++ b/.guix-channel @@ -0,0 +1,26 @@ +(channel + (version 0) + (url "https://github.com/GigiaJ/gunit.git") + (directory "modules") + (dependencies + (channel + (name nonguix) + (url "https://gitlab.com/nonguix/nonguix") + (introduction + (channel-introduction + (version 0) + (commit "897c1a470da759236cc11798f4e0a5f7d4d59fbc") + (signer "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + (channel + (name selected-guix-works) + (url "https://github.com/gs-101/selected-guix-works.git") + (introduction + (channel-introduction + (version 0) + (commit + "5d1270d51c64457d61cd46ec96e5599176f315a4") + (signer + "C780 21F7 34E4 07EB 9090 0CF1 4ACA 6D6F 89AB 3162")))) + "60C9 0CD0 ADFD B4CE BBDB 25EA CEDD AD9A 4E9A ECF9" + ) +) \ No newline at end of file diff --git a/Bolt.scm b/Bolt.scm new file mode 100644 index 0000000..eb5ddf2 --- /dev/null +++ b/Bolt.scm @@ -0,0 +1,149 @@ +(define-module (gnu packages radio) + #: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 bash) + #:use-module (gnu packages boost) + #:use-module (gnu packages check) + #: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 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 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 video) + #:use-module (gnu packages web) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) + #: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)) + +(define github-source + (origin + (method url-fetch) + (uri (string-append "https://bolt.adamcake.com/" "#tag=" "0.10.0")) + (hash "72c8c43dcb61f778a807eb262b2c2ebcb2e1705756de5a9003484af0663aa924"))) + +(define cef-source + (origin + (method url-fetch) + (uri "https://adamcake.com/cef/cef-114.0.5735.134-linux-x86_64-minimal-ungoogled.tar.gz") + (hash "c6618af7c0a787318c655253eced33baed5cc1b1665c938d2d7dc38a8972876f"))) + +(define-public bolt-launcher + (package + (name "bolt-launcher") + (version "0.10.0") + (source github-source) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list + "-S" "Bolt" "-B" "build" + "-G" "Unix Makefiles" + "CMAKE_BUILD_TYPE=Release" + (string-append %source "/CEF_ROOT=cef_binary_114.2.11+g87c8807+chromium-114.0.5735.134_linux64_minimal") + "CMAKE_INSTALL_PREFIX=output" + "BOLT_BINDIR=usr/bin" + "BOLT_LIBDIR=usr/lib" + "BOLT_META_NAME=bolt-launcher" + "BOLT_SKIP_LIBRARIES=1") + #:phases + (modify-phases %standard-phases + (replace 'unpack + (github-source) + (cef-source) + (system (cmd (string-append "git -C " %source "/Bolt submodule update --init --recursive"))) + ;;(system (cmd (string-append "git -C " %source "/Bolt apply " %source "/fmt.patch"))) + ;;(invoke "patch" "-p1" "-d" (string-append %source "/cef_binary_114.2.11+g87c8807+chromium-114.0.5735.134_linux64_minimal") + ;;"-i" (string-append %source "/cef-no-fortify.patch")) + ;; Configure is handled by Guile as we have fed the flags needed for it. + ;; Build is handled by Guile as the command is simple + ;; Install is handled by Guile as the command is simple + )))) + (inputs + (list "alsa-lib" "at-spi2-core" "cairo" "dbus" "expat" "fmt" "gcc-libs" "gdk-pixbuf2" + "glib2" "glibc" "gtk3" "hicolor-icon-theme" "libarchive" "libdrm" "libx11" "libxcb" + "libxcomposite" "libxdamage" "libxext" "libxfixes" "libxkbcommon" "libxrandr" "mesa" + "nspr" "nss" "pango")) + (native-inputs + (list "cmake")) + (synopsis "Soup") + (home-page "https://bolt.adamcake.com/") + (description "Free open-source third-party implementation of the Jagex Launcher") + (license license:agpl3)))