Compare commits
No commits in common. "build" and "fedora" have entirely different histories.
5 changed files with 115 additions and 82 deletions
13
.drone.yml
13
.drone.yml
|
@ -3,15 +3,20 @@ type: docker
|
|||
name: default
|
||||
|
||||
steps:
|
||||
- name: Build fjord launcher unlocked
|
||||
image: debian
|
||||
- name: Build fjord-launcher-unlocked fedora package
|
||||
image: fedora
|
||||
commands:
|
||||
- '/drone/src/compilation.sh'
|
||||
- '/drone/src/run.sh'
|
||||
volumes:
|
||||
- name: program-archives
|
||||
path: /compiled
|
||||
- name: fedora-repo
|
||||
path: /repo
|
||||
|
||||
volumes:
|
||||
- name: program-archives
|
||||
host:
|
||||
path: /mnt/user/files/repos/archives
|
||||
path: /mnt/user/files/repos/archives/
|
||||
- name: fedora-repo
|
||||
host:
|
||||
path: /mnt/user/files/repos/fedora/x86_64/
|
34
README.md
34
README.md
|
@ -1,35 +1,5 @@
|
|||
# FjordLauncherUnlocked build
|
||||
# fjord-launcher-unlocked (fedora)
|
||||
|
||||
[](https://drone.askiiart.net/pkg-repo/fjord-launcher-unlocked)
|
||||
|
||||
- Builds [FjordLauncherUnlocked](https://github.com/hero-persson/FjordLauncherUnlocked) and places it in `$COMPILED_DIR/fjord-launcher-unlocked/fjord-launcher-unlocked.tar.zst`
|
||||
- Version file at `$COMPILED_DIR/fjord-launcher-unlocked/version`
|
||||
|
||||
## Archive details
|
||||
|
||||
```
|
||||
.
|
||||
└── usr
|
||||
├── bin
|
||||
│ └── fjordlauncher
|
||||
└── share
|
||||
├── applications
|
||||
│ └── org.unmojang.FjordLauncher.desktop
|
||||
├── FjordLauncher
|
||||
│ ├── JavaCheck.jar
|
||||
│ ├── NewLaunch.jar
|
||||
│ ├── NewLaunchLegacy.jar
|
||||
│ └── qtlogging.ini
|
||||
├── icons
|
||||
│ └── hicolor
|
||||
│ └── scalable
|
||||
│ └── apps
|
||||
│ └── org.unmojang.FjordLauncher.svg
|
||||
├── metainfo
|
||||
│ └── org.unmojang.FjordLauncher.metainfo.xml
|
||||
├── mime
|
||||
│ └── packages
|
||||
│ └── modrinth-mrpack-mime.xml
|
||||
└── qlogging-categories6
|
||||
└── fjordlauncher.categories
|
||||
```
|
||||
TODO: Add automatic `%files` generation
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
program_name="fjord-launcher-unlocked"
|
||||
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
||||
|
||||
# prep
|
||||
workdir=$(mktemp -d)
|
||||
built_dir=${COMPILED_DIR:-/compiled}/$program_name
|
||||
mkdir -p $built_dir
|
||||
apt update && apt install curl jq -y
|
||||
|
||||
# check whether it's up-to-date
|
||||
version_file=$built_dir/version
|
||||
touch $version_file
|
||||
# also available via gitlab.com/librewolf-community/browser/source/-/raw/main/{version,release}
|
||||
version=$(curl 'https://api.github.com/repos/hero-persson/FjordLauncherUnlocked/releases/latest' | jq '.tag_name' -r)
|
||||
if grep -q $version $version_file; then
|
||||
echo "already up to date, exiting"
|
||||
exit
|
||||
fi
|
||||
|
||||
# install deps
|
||||
apt install qt6-base-dev qtchooser qt6-base-dev-tools libqt6core6 libqt6core5compat6-dev libqt6network6 qt6-networkauth-dev cmake ninja-build g++ extra-cmake-modules zlib1g-dev openjdk-17-jdk libgl1-mesa-dev scdoc -y
|
||||
|
||||
# get source and build
|
||||
cd $workdir
|
||||
curl -LO $(curl 'https://api.github.com/repos/hero-persson/FjordLauncherUnlocked/releases/latest' | jq '.assets' | jq '.[0].browser_download_url' -r) # .assets.[0].browser_download_url doesn't work on debian's old version of jq
|
||||
tar -xzf FjordLauncher-$version.tar.gz
|
||||
cd FjordLauncher-$version
|
||||
cmake -S . -B build -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||
-DENABLE_LTO=ON
|
||||
# -DLauncher_QT_VERSION_MAJOR="5" # if you want to use Qt 5
|
||||
cmake --build build
|
||||
|
||||
# package into archive
|
||||
mkdir -p $workdir/result/
|
||||
DESTDIR=$workdir/result/ cmake --install build
|
||||
cd $workdir/result/
|
||||
apt install zstd -y
|
||||
tar --zstd -cf $built_dir/$program_name.tar.zst .
|
||||
echo $version >$version_file
|
||||
|
||||
echo "$program_name updated to $version"
|
61
fjord-launcher-unlocked.spec
Normal file
61
fjord-launcher-unlocked.spec
Normal file
|
@ -0,0 +1,61 @@
|
|||
Name: fjord-launcher-unlocked
|
||||
Version: 6.6.6
|
||||
Release: %autorelease
|
||||
Summary: Prism Launcher fork with support for alternative auth servers (unlocked)
|
||||
License: GPL-3.0-only AND Apache-2.0 AND LGPL-3.0-only AND OFL-1.1 AND LGPL-2.1 AND MIT AND BSD-3-Clause
|
||||
URL: https://github.com/hero-persson/FjordLauncherUnlocked
|
||||
BuildRequires: tar zstd
|
||||
|
||||
Requires: qt6-qtimageformats
|
||||
Requires: qt6-qtsvg
|
||||
|
||||
Requires: javapackages-filesystem
|
||||
Recommends: java-21-openjdk
|
||||
# See note above
|
||||
%if 0%{?fedora} && 0%{?fedora} < 42
|
||||
Recommends: java-17-openjdk
|
||||
Suggests: java-1.8.0-openjdk
|
||||
%endif
|
||||
|
||||
# xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
|
||||
Recommends: xrandr
|
||||
# libflite needed for using narrator in minecraft
|
||||
Recommends: flite
|
||||
# Prism supports enabling gamemode
|
||||
Suggests: gamemode
|
||||
|
||||
%description
|
||||
A Prism Launcher fork with support for alternative auth servers (unlocked)
|
||||
|
||||
%prep
|
||||
program_name="fjord-launcher-unlocked"
|
||||
tar --zstd -xf ${COMPILED_DIR:-/compiled}/$program_name/$program_name.tar.zst --one-top-level
|
||||
|
||||
%install
|
||||
program_name="fjord-launcher-unlocked"
|
||||
cd ./$program_name/
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_datadir}
|
||||
pwd
|
||||
ls
|
||||
cp ./usr/bin/fjordlauncher %{buildroot}%{_bindir}/
|
||||
cp -r ./usr/share/* %{buildroot}%{_datadir}
|
||||
|
||||
%files
|
||||
%{_datadir}/FjordLauncher/qtlogging.ini
|
||||
%{_datadir}/FjordLauncher/NewLaunchLegacy.jar
|
||||
%{_datadir}/FjordLauncher/NewLaunch.jar
|
||||
%{_datadir}/FjordLauncher/JavaCheck.jar
|
||||
%{_datadir}/applications/org.unmojang.FjordLauncher.desktop
|
||||
%{_datadir}/mime/packages/modrinth-mrpack-mime.xml
|
||||
%{_datadir}/qlogging-categories6/fjordlauncher.categories
|
||||
%{_datadir}/metainfo/org.unmojang.FjordLauncher.metainfo.xml
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.unmojang.FjordLauncher.svg
|
||||
%{_bindir}/fjordlauncher
|
||||
|
||||
%changelog
|
||||
* Mon Mar 10 2025 askiiart <rpm@askiiart.net>
|
||||
- Add deps
|
||||
|
||||
* Mon Mar 10 2025 askiiart <rpm@askiiart.net>
|
||||
- Initial version
|
43
run.sh
Executable file
43
run.sh
Executable file
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euxo pipefail
|
||||
|
||||
program_name="fjord-launcher-unlocked"
|
||||
|
||||
built_dir=${COMPILED_DIR:-/compiled}/$program_name
|
||||
version=$(cat $built_dir/version)
|
||||
repo_dir=${REPO_DIR:-/repo}
|
||||
|
||||
# skip if already up-to-date
|
||||
# TODO: use the repo instead and check the version with dnf
|
||||
# yeah this is bad; see also the fjord-launcher-unlocked-aaaaaa thing below
|
||||
touch $repo_dir/$program_name-tmp
|
||||
if $(ls $repo_dir/$program_name-* | grep -q "$version"); then
|
||||
rm $repo_dir/$program_name-tmp
|
||||
echo "package is already up to date, exiting"
|
||||
exit
|
||||
fi
|
||||
rm $repo_dir/$program_name-tmp
|
||||
|
||||
# prep
|
||||
dnf install fedora-packager rpmdevtools createrepo_c -y
|
||||
rpmdev-setuptree
|
||||
|
||||
sed -i "s/Version:.*/Version: $version/g" $program_name.spec
|
||||
|
||||
# build package and move to the repo
|
||||
rpmbuild -bb $program_name.spec
|
||||
mv ~/rpmbuild/RPMS/x86_64/$program_name-$version-* $repo_dir/
|
||||
|
||||
# remove old versions
|
||||
cd $repo_dir
|
||||
# this is the easiest way to make sure it doesn't just fail because no fjord-launcher-unlocked-* exists
|
||||
# (which only happens on first run)
|
||||
touch $program_name-0.rpm
|
||||
rm $(ls $program_name-*.rpm | sort --version-sort | sed '$d')
|
||||
rm $program_name-0.rpm || true
|
||||
|
||||
# update repo
|
||||
createrepo_c .
|
||||
|
||||
cd $repo_dir/
|
||||
echo "package is at $repo_dir/$(ls $program_name-*.rpm)"
|
Loading…
Add table
Add a link
Reference in a new issue