From a83cb2f2b830210313bf3ceca7e9d62dd963ab32 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Sun, 9 Jan 2022 18:50:00 +0100 Subject: [PATCH] rework rpm spec --- packages/rpm/makerpm.sh | 9 --- packages/rpm/polymc.spec | 138 +++++++++++++++++++++++++++++++-------- 2 files changed, 111 insertions(+), 36 deletions(-) delete mode 100755 packages/rpm/makerpm.sh diff --git a/packages/rpm/makerpm.sh b/packages/rpm/makerpm.sh deleted file mode 100755 index 02ecf2065..000000000 --- a/packages/rpm/makerpm.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -git submodule init -git submodule update -VERSION=$(git describe --tags | sed 's/-.*//') -DIR=$(pwd) -sed -i "s/Version:.*/Version: ${VERSION}/" polymc.spec -sudo dnf builddep polymc.spec -rpmbuild -ba polymc.spec diff --git a/packages/rpm/polymc.spec b/packages/rpm/polymc.spec index 3c5ba4359..f22ba078b 100644 --- a/packages/rpm/polymc.spec +++ b/packages/rpm/polymc.spec @@ -1,13 +1,74 @@ -%global _origdir %(pwd) -Name: polymc -Version: -Release: 1%{?dist} -Summary: A custom launcher for Minecraft -License: GPLv3 -URL: https://polymc.org/ +%global libnbtplusplus_commit dc72a20b7efd304d12af2025223fad07b4b78464 +%global libnbtplusplus_shortcommit %(c=%{libnbtplusplus_commit}; echo ${c:0:7}) +%global quazip_commit c9ef32de19bceb58d236f5c22382698deaec69fd +%global quazip_shortcommit %(c=%{quazip_commit}; echo ${c:0:7}) + +Name: polymc +Version: 1.0.4 +Release: 2%{?dist} +Summary: Minecraft launcher with ability to manage multiple instances + +# +# CC-BY-SA +# --------------------------------------- +# launcher/resources/multimc/ +# +# BSD 3-clause "New" or "Revised" License +# --------------------------------------- +# application/ +# libraries/LocalPeer/ +# libraries/ganalytics/ +# +# Boost Software License (v1.0) +# --------------------------------------- +# cmake/ +# +# Expat License +# --------------------------------------- +# libraries/systeminfo/ +# +# GNU Lesser General Public License (v2 or later) +# --------------------------------------- +# libraries/rainbow +# +# GNU Lesser General Public License (v2.1 or later) +# --------------------------------------- +# libraries/iconfix/ +# libraries/quazip/ +# +# GNU Lesser General Public License (v3 or later) +# --------------------------------------- +# libraries/libnbtplusplus/ +# +# GPL (v2) +# --------------------------------------- +# libraries/pack200/ +# +# ISC License +# --------------------------------------- +# libraries/hoedown/ +# +# zlib/libpng license +# --------------------------------------- +# libraries/quazip/quazip/unzip.h +# libraries/quazip/quazip/zip.h +# + +License: CC-BY-SA and ASL 2.0 and BSD and Boost and LGPLv2 and LGPLv2+ and LGPLv3+ and GPLv2 and GPLv2+ and GPLv3 and ISC and zlib +URL: https://polymc.org +Source0: https://github.com/PolyMC/PolyMC/archive/%{version}/%{name}-%{version}.tar.gz +Source1: https://github.com/MultiMC/libnbtplusplus/archive/%{libnbtplusplus_commit}/libnbtplusplus-%{libnbtplusplus_shortcommit}.tar.gz +Source2: https://github.com/PolyMC/quazip/archive/%{quazip_commit}/quazip-%{quazip_shortcommit}.tar.gz + +BuildRequires: cmake3 +BuildRequires: desktop-file-utils +BuildRequires: gcc-c++ + +# Fix warning: Could not complete Guile gdb module initialization from: +# /usr/share/gdb/guile/gdb/boot.scm +BuildRequires: gdb-headless -BuildArch: x86_64 BuildRequires: java-devel BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(Qt5) @@ -19,37 +80,60 @@ Requires: pkgconfig(Qt5) Requires: pkgconfig(zlib) %description -A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once +PolyMC is a free, open source launcher for Minecraft. It allows you to have +multiple, separate instances of Minecraft (each with their own mods, texture +packs, saves, etc) and helps you manage them and their associated options with +a simple interface. + %prep -mkdir -p %{_builddir}/%{name} -cp -r %{_origdir}/../../* %{_builddir}/%{name} +%autosetup -p1 -n PolyMC-%{version} + +tar -xvf %{SOURCE1} -C libraries +tar -xvf %{SOURCE2} -C libraries +rmdir libraries/libnbtplusplus libraries/quazip +mv -f libraries/quazip-%{quazip_commit} libraries/quazip +mv -f libraries/libnbtplusplus-%{libnbtplusplus_commit} libraries/libnbtplusplus + %build -cd %{_builddir}/%{name} -cmake \ - -DLauncher_LAYOUT=lin-system \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLauncher_LIBRARY_DEST_DIR=%{_lib} \ - . +%cmake \ + -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo" \ + -DLauncher_LAYOUT:STRING="lin-system" \ + -DLauncher_LIBRARY_DEST_DIR:STRING="%{_libdir}/%{name}" \ + -DLauncher_UPDATER_BASE:STRING="" %cmake_build + %install -cd %{_builddir}/%{name} %cmake_install +# Proper library linking +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ +echo "%{_libdir}/%{name}" > "%{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf" + + +%check +%ctest +desktop-file-validate %{buildroot}%{_datadir}/applications/org.polymc.PolyMC.desktop + + %files -%{_bindir}/polymc -%{_datadir}/applications/org.polymc.PolyMC.desktop +%license COPYING.md +%doc README.md changelog.md +%{_bindir}/%{name} +%{_libdir}/%{name}/* +%{_datadir}/%{name}/* %{_datadir}/metainfo/org.polymc.PolyMC.metainfo.xml -%{_datadir}/polymc/jars/* %{_datadir}/icons/hicolor/scalable/apps/org.polymc.PolyMC.svg -%{_libdir}/libLauncher_nbt++.so -%{_libdir}/libLauncher_quazip.so -%{_libdir}/libLauncher_rainbow.so -%{_libdir}/libLauncher_iconfix.so +%{_datadir}/applications/org.polymc.PolyMC.desktop +%config %{_sysconfdir}/ld.so.conf.d/* + %changelog -* Fri Jan 7 2022 getchoo - 1.0.4 -- Initial polymc spec +* Sun Jan 09 2022 Jan Drögehoff - 1.0.4-2 +- rework spec + +* Fri Jan 7 2022 getchoo - 1.0.4-1 +- Initial polymc spec \ No newline at end of file