Merge pull request #32 from getchoo/add-rpm-packaging

add rpm build script and spec file
This commit is contained in:
swirl 2022-01-08 23:52:05 -05:00 committed by GitHub
commit c63b5bb132
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 76 additions and 0 deletions

View File

@ -45,6 +45,18 @@ cd packages/debian
If everything works correctly, the .deb will be next to the build script, in `PolyMC/packages/debian`
### Building a .rpm
You don't need to install the build dependencies, as the script will use `dnf` to install them for you.
```
git clone https://github.com/PolyMC/PolyMC.git
cd packages/rpm
./makerpm.sh
```
If everything works correctly, the .rpm will be next to the build script, in `PolyMC/packages/rpm`
### Building from command line
You need a source folder, a build folder and an install folder.

9
packages/rpm/makerpm.sh Executable file
View File

@ -0,0 +1,9 @@
#!/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

55
packages/rpm/polymc.spec Normal file
View File

@ -0,0 +1,55 @@
%global _origdir %(pwd)
Name: polymc
Version:
Release: 1%{?dist}
Summary: A custom launcher for Minecraft
License: GPLv3
URL: https://polymc.org/
BuildArch: x86_64
BuildRequires: java-devel
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(Qt5)
BuildRequires: pkgconfig(zlib)
Requires: java-headless
Requires: pkgconfig(gl)
Requires: pkgconfig(Qt5)
Requires: pkgconfig(zlib)
%description
A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once
%prep
mkdir -p %{_builddir}/%{name}
cp -r %{_origdir}/../../* %{_builddir}/%{name}
%build
cd %{_builddir}/%{name}
cmake \
-DLauncher_LAYOUT=lin-system \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLauncher_LIBRARY_DEST_DIR=%{_lib} \
.
%cmake_build
%install
cd %{_builddir}/%{name}
%cmake_install
%files
%{_bindir}/polymc
%{_datadir}/applications/org.polymc.PolyMC.desktop
%{_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
%changelog
* Fri Jan 7 2022 getchoo <getchoo at tuta dot io> - 1.0.4
- Initial polymc spec