This commit is contained in:
mjallen18
2026-01-15 13:53:59 -06:00
parent 549580395f
commit 9376005a21
8 changed files with 14 additions and 203 deletions

View File

@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ARM-software";
repo = "arm-trusted-firmware";
tag = "v${version}";
rev = "${version}";
hash = versions.fw.hash;
};

View File

@@ -1,183 +0,0 @@
{
lib,
stdenv,
fetchzip,
autoPatchelfHook,
makeWrapper,
# Core dependencies
alsa-lib,
at-spi2-core,
cairo,
cups,
dbus,
expat,
fontconfig,
freetype,
gdk-pixbuf,
glib,
gtk3,
libarchive,
libdrm,
libGL,
libx11,
libxcb,
libxext,
libxkbcommon,
mesa,
nspr,
nss,
pango,
systemd,
xorg,
zlib,
# Additional CEF/Chromium dependencies
libnotify,
libpulseaudio,
libuuid,
libva,
pipewire,
udev,
wayland,
jdk17 # for RuneLite/HDOS
, # for RS3
}:
let
inherit (lib.trivial) importJSON;
versions = importJSON ./versions.json;
in
stdenv.mkDerivation rec {
pname = "bolt-launcher";
version = versions.bolt.version;
src = fetchzip {
url = "https://codeberg.org/Adamcake/Bolt/releases/download/${version}/Bolt-Linux.zip";
sha256 = versions.bolt.hash;
stripRoot = false;
};
nativeBuildInputs = [
autoPatchelfHook
makeWrapper
];
buildInputs = [
alsa-lib
at-spi2-core
cairo
cups
dbus
expat
fontconfig
freetype
gdk-pixbuf
glib
gtk3
libarchive
libdrm
libGL
libx11
libxcb
libxext
libxkbcommon
mesa
nspr
nss
pango
stdenv.cc.cc.lib # for libstdc++.so.6
systemd
zlib
# Additional CEF/Chromium deps
libnotify
libpulseaudio
libuuid
libva
pipewire
udev
wayland
]
++ (with xorg; [
libXcomposite
libXcursor
libXdamage
libXfixes
libXi
libXinerama
libXrandr
libXrender
libXScrnSaver
libxshmfence
libXtst
libXxf86vm
]);
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
# Create directory structure
mkdir -p $out/bin
mkdir -p $out/lib/bolt-launcher
mkdir -p $out/share/applications
mkdir -p $out/share/icons
# Copy all files to lib directory
cp -r ./bolt-launcher/* $out/lib/bolt-launcher/
# The main executable is 'bolt' (lowercase)
chmod +x $out/lib/bolt-launcher/bolt
# Also make chrome-sandbox executable (needed for CEF)
if [ -f $out/lib/bolt-launcher/chrome-sandbox ]; then
chmod +x $out/lib/bolt-launcher/chrome-sandbox
fi
# Create wrapper script with proper library paths
makeWrapper $out/lib/bolt-launcher/bolt $out/bin/bolt-launcher \
--prefix LD_LIBRARY_PATH : "$out/lib/bolt-launcher:${lib.makeLibraryPath buildInputs}" \
--set BOLT_SKIP_UPDATE "1" \
--chdir "$out/lib/bolt-launcher" \
${lib.optionalString (jdk17 != null) "--prefix PATH : ${jdk17}/bin"}
# Create a simple desktop file if none exists
cat > $out/share/applications/bolt-launcher.desktop << EOF
[Desktop Entry]
Name=Bolt Launcher
Comment=Free open-source third-party implementation of the Jagex Launcher
Exec=$out/bin/bolt-launcher
Icon=bolt-launcher
Type=Application
Categories=Game;
EOF
runHook postInstall
'';
# Additional runtime fixes
postFixup = ''
# The CEF libraries are in the same directory as the main executable
# Make sure they can find each other
patchelf --set-rpath "$out/lib/bolt-launcher:${lib.makeLibraryPath buildInputs}" \
$out/lib/bolt-launcher/bolt || true
# Patch the CEF libraries
for lib in $out/lib/bolt-launcher/*.so*; do
if [ -f "$lib" ]; then
patchelf --set-rpath "$out/lib/bolt-launcher:${lib.makeLibraryPath buildInputs}" "$lib" || true
fi
done
'';
meta = with lib; {
description = "Free open-source third-party implementation of the Jagex Launcher";
homepage = "https://bolt.adamcake.com/";
license = licenses.agpl3Only;
platforms = [
"x86_64-linux"
"aarch64-linux"
];
maintainers = with maintainers; [ ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
};
}

View File

@@ -1,9 +0,0 @@
{
"bolt": {
"hash": "sha256-s0hC822fXuYiHPRE3xcLNOsZs43xhLJ+vM1cuMc9zZQ=",
"location": "codeberg",
"owner": "Adamcake",
"repo": "Bolt",
"tag": "0.20.6"
}
}

View File

@@ -29,8 +29,10 @@ let
owner = versions."edk2${repoOwner}".owner;
repo = "edk2";
name = repo;
rev = versions."edk2${repoOwner}".rev;
rev = (if MODEL == "5" then versions."edk2${repoOwner}".rev else null);
tag = (if MODEL == "5" then null else versions."edk2${repoOwner}".tag);
hash = versions."edk2${repoOwner}".hash;
fetchSubmodules = true;
};
edk2NonOsiSrc = fetchFromGitHub rec {

View File

@@ -1,6 +1,6 @@
{
"edk2": {
"hash": "sha256-CS/jWY6B+/PIKDh6cL6n9pwAPhPcjZBZc75SnOJbHf8=",
"hash": "sha256-R/rgz8dWcDYVoiM67K2UGuq0xXbjjJYBPtJ1FmfGIaU=",
"location": "github",
"owner": "tianocore",
"repo": "edk2",