From 3bb7f97eb4436c18ac56f4b60a094d4aa276bae3 Mon Sep 17 00:00:00 2001 From: mckaygerhard Date: Tue, 3 Jan 2023 14:11:13 -0400 Subject: [PATCH] provide a right description for distro packagers * set description to minetest based voxel game * sync rules configuration for CMAKE on apk, rpm and deb based distros * sync installation paths for apk, rpm and deb based distros * fix for those syncs the CMakefile --- CMakeLists.txt | 4 +- misc/alpine/APKBUILD | 100 ++++++++++------- misc/alpine/multicraft-server.confd | 8 +- misc/debian/control | 44 +++++--- misc/debian/multicraft-data.install | 2 +- misc/debian/multicraft-server.README.Debian | 3 + misc/debian/multicraft-server.install | 6 +- misc/debian/rules | 31 ------ misc/debian/watch.ex | 38 ------- misc/fedora/multicraft.spec | 112 +++++++++++--------- misc/multicraftserver.service | 2 +- misc/multicraftserver@.service | 2 +- misc/net.minetest.multicraft.appdata.xml | 11 +- misc/net.minetest.multicraft.desktop | 2 +- 14 files changed, 179 insertions(+), 186 deletions(-) delete mode 100644 misc/debian/watch.ex diff --git a/CMakeLists.txt b/CMakeLists.txt index 3560b95d2..2dc5b803d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -239,7 +239,7 @@ add_subdirectory(src) # CPack -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A free open-source voxel game engine with easy modding and game creation.") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "voxel game engine based on minetest with multiprotocol engine for any minetest game.") set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}) @@ -267,7 +267,7 @@ cpack_add_component(SUBGAME_MINIMAL ) cpack_add_component_group(Subgames - DESCRIPTION "Games for the Minetest engine." + DESCRIPTION "voxel game engine based on minetest - subgames templates to play." ) if(WIN32) diff --git a/misc/alpine/APKBUILD b/misc/alpine/APKBUILD index 19a78ef9e..04e65b869 100644 --- a/misc/alpine/APKBUILD +++ b/misc/alpine/APKBUILD @@ -2,7 +2,7 @@ pkgname=multicraft pkgver=2.0.3 pkgrel=0 -pkgdesc="Minetest fork infinite-world block sandbox game and a game engine" +pkgdesc="minetest voxel game engine with easy modding and game creation" url="https://www.multicraft.world/" # riscv64 blocked by luajit arch="all !riscv64" @@ -10,7 +10,7 @@ license="LGPL-3-or-later AND CC-BY-SA-3.0" pkgusers="multicraft" pkggroups="games" install="$pkgname-server.pre-install" -depends="$pkgname-common" +depends="$pkgname-data" makedepends=" bzip2-dev cmake @@ -19,6 +19,7 @@ makedepends=" gettext-dev hiredis-dev libjpeg-turbo-dev + irrlicht-dev libogg-dev libpng-dev libvorbis-dev @@ -32,13 +33,12 @@ makedepends=" zstd-dev " subpackages="$pkgname-doc - $pkgname-common::noarch + $pkgname-data::noarch $pkgname-server $pkgname-server-openrc:openrc " _irrlichtver="1.9.0mt8" -source="https://github.com/multicraft/multicraft/archive/refs/tags/$pkgver/multicraft-$pkgver.tar.gz - https://github.com/minetest/irrlicht/archive/refs/tags/$_irrlichtver/irrlichtmt-$_irrlichtver.tar.gz +source="https://codeberg.org/minenux/minetest-engine-multicraft2/archive/multicraft-package.tar.gz multicraft-server.confd multicraft-server.initd 0001-CMake-link-with-Intl-when-necessary.patch @@ -46,54 +46,85 @@ source="https://github.com/multicraft/multicraft/archive/refs/tags/$pkgver/multi prepare() { default_prepare - - mv "$srcdir"/irrlicht-$_irrlichtver "$srcdir"/multicraft-$pkgver/lib/irrlichtmt } build() { cmake -G Ninja -B build_client \ - -DCMAKE_BUILD_TYPE=Release \ -DCUSTOM_BINDIR=/usr/bin \ + -DCUSTOM_DOCDIR="/usr/share/doc/$pkgname-data" \ + -DCUSTOM_SHAREDIR="/usr/share/games/$pkgname" \ + -DBUILD_SERVER=OFF \ + -DBUILD_CLIENT=ON \ + -DRUN_IN_PLACE=OFF \ + -DENABLE_CURL=ON \ + -DENABLE_SOUND=ON \ + -DENABLE_LUAJIT=ON \ + -DENABLE_GETTEXT=ON \ + -DENABLE_FREETYPE=ON \ + -DENABLE_SYSTEM_GMP=ON \ + -DENABLE_SYSTEM_JSONCPP=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DENABLE_SPATIAL=ON \ + -DENABLE_LEVELDB=ON \ + -DENABLE_REDIS=OFF \ + -DENABLE_POSTGRESQL=ON \ + -DJSON_INCLUDE_DIR=/usr/include/jsoncpp \ + -DFREETYPE_INCLUDE_DIR_freetype2=/usr/include/freetype2 \ + -DFREETYPE_INCLUDE_DIR_ft2build=/usr/include \ + -DLEVELDB_INCLUDE_DIR=/usr/include/leveldb \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCUSTOM_DOCDIR="/usr/share/doc/$pkgname" \ - -DCUSTOM_SHAREDIR="/usr/share/$pkgname" \ - -DBUILD_CLIENT=1 \ - -DBUILD_SERVER=0 \ - -DENABLE_REDIS=0 \ - -DENABLE_CURL=1 \ - -DRUN_IN_PLACE=0 + -DCMAKE_BUILD_TYPE=RelWithDebInfo + cmake --build build_client cmake -G Ninja -B build_server \ - -DCMAKE_BUILD_TYPE=Release \ -DCUSTOM_BINDIR=/usr/bin \ + -DCUSTOM_DOCDIR="/usr/share/doc/$pkgname" \ + -DCUSTOM_SHAREDIR="/usr/share/games/$pkgname" \ + -DBUILD_SERVER=ON \ + -DBUILD_CLIENT=OFF \ + -DRUN_IN_PLACE=OFF \ + -DENABLE_CURL=ON \ + -DENABLE_SOUND=ON \ + -DENABLE_LUAJIT=ON \ + -DENABLE_GETTEXT=ON \ + -DENABLE_FREETYPE=ON \ + -DENABLE_SYSTEM_GMP=ON \ + -DENABLE_SYSTEM_JSONCPP=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DENABLE_SPATIAL=ON \ + -DENABLE_LEVELDB=ON \ + -DENABLE_REDIS=OFF \ + -DENABLE_POSTGRESQL=ON \ + -DJSON_INCLUDE_DIR=/usr/include/jsoncpp \ + -DFREETYPE_INCLUDE_DIR_freetype2=/usr/include/freetype2 \ + -DFREETYPE_INCLUDE_DIR_ft2build=/usr/include \ + -DLEVELDB_INCLUDE_DIR=/usr/include/leveldb \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCUSTOM_DOCDIR="/usr/share/doc/multicraft" \ - -DCUSTOM_SHAREDIR="/usr/share/multicraft" \ - -DBUILD_CLIENT=0 \ - -DBUILD_SERVER=1 \ - -DENABLE_REDIS=1 \ - -DENABLE_CURL=1 \ - -DRUN_IN_PLACE=0 + -DCMAKE_BUILD_TYPE=RelWithDebInfo + cmake --build build_server } package() { DESTDIR="$pkgdir" cmake --install build_client + rm -rf "$subpkgdir"/etc/init.d/multicraftserver + rm -rf "$subpkgdir"/usr/lib/systemd } -common() { - pkgdesc="Multicraft files used by both client & server" +data() { + pkgdesc="voxel game engine based on minetest - common data files for" depends="" - install -o multicraft -g multicraft -d "$subpkgdir"/var/lib/multicraft + install -o multicraft -g multicraft -d "$subpkgdir"/var/games/multicraft amove \ - usr/share/multicraft/builtin \ - usr/share/multicraft/games + usr/share/games/multicraft \ + usr/share/metainfo + usr/share/icons/hicolor } server() { - pkgdesc="Multicraft server" + pkgdesc="voxel game engine based on minetest - server multiplayer" depends="$pkgname-common" cd "$builddir" @@ -101,10 +132,12 @@ server() { "$subpkgdir"/etc/multicraft/multicraft.conf install -Dm755 bin/multicraftserver \ -t "$subpkgdir"/usr/bin + install -o multicraft -g multicraft -d "$subpkgdir"/var/log/multicraft + amove etc/logrotate.d/multicraftserver } openrc() { - pkgdesc="Multicraft server (OpenRC init scripts)" + pkgdesc="voxel game engine based on minetest - server (OpenRC init scripts)" install_if="$pkgname-server openrc" install -Dm755 "$srcdir"/multicraft-server.initd \ @@ -113,10 +146,3 @@ openrc() { "$subpkgdir"/etc/conf.d/multicraft-server } -sha512sums=" -15d2ce3b1150f077ff933a04f0ba8e02c71ee60a0edb636d1511d4e90244a34a14d7e5c4b47bee4de96cd179249a5a6963d7a092084f46c0fa54c9ff431a5265 multicraft-5.6.1.tar.gz -3a5cbcd8d13730e08f24a72b4ceb2a6d3ba1cfa4292475915da6413ab8084d0b7f0b5dc34edc152d5bf516730faf43d983433619b0a1fb15540adb5cab00ca10 irrlichtmt-1.9.0mt8.tar.gz -7bca17dc0bd59db9c07c160677498aa09297026104e922bf93b7629c274d0aebd226af60c5e82f49ffe3cc5c1e4448e3798b6c2a44144fc6eca4d3aaed3384bb multicraft-server.confd -c27aea87468538b48b5e0a66fa5cdde4fc67f3c00a0e57f359a2f044a31c5617d1b5f3dec72e015537ee3bf126bd1073878c0f4447de67db9be2c4cf21416dd7 multicraft-server.initd -c815e6c9c5433e4fda9b8559b662086e18b14461e4fd8626b4d5178554a2423c9b243450845d49710825b627dede91de8411655adff7a960672c639735499533 0001-CMake-link-with-Intl-when-necessary.patch -" \ No newline at end of file diff --git a/misc/alpine/multicraft-server.confd b/misc/alpine/multicraft-server.confd index 0e290b741..c72d71c00 100644 --- a/misc/alpine/multicraft-server.confd +++ b/misc/alpine/multicraft-server.confd @@ -1,6 +1,6 @@ -#USER="multicraft" -#GROUP="games" -#LOG="/var/lib/multicraft/multicraftd.log" -#CONFIG="/etc/multicraft/multicraft.conf" +USER="multicraft" +GROUP="games" +LOG="/var/log/multicraft/multicraft.log" +CONFIG="/etc/multicraft/multicraft.conf" #ARGS="" GAMEID="minimal" diff --git a/misc/debian/control b/misc/debian/control index d89c036ae..60675bd0f 100644 --- a/misc/debian/control +++ b/misc/debian/control @@ -46,40 +46,50 @@ Package: multicraft Architecture: any Depends: multicraft-data (= ${source:Version}), ${misc:Depends}, ${shlibs:Depends} Recommends: minetest-game | multicraft-game | minetest-game-minenux -Description: Multiplayer infinite-world block sandbox (client with embebed server) - Multicraft is a minecraft-inspired game written from scratch and licensed +Description: minetest voxel game engine with easy modding and game creation + Multicraft is a fork from minetest, a voxel game written from scratch and licensed under the LGPL (version 2.1 or later). It supports both survival and creative modes along with multiplayer support, dynamic lighting, and an "infinite" map generator. . - This is a improved upgrade over 5.2 series due 5.X one superset and changed - the protocol of network. + This is the graphics player client with multiprotocol for any minetest engine, + the textures and other graphical files and the standard mods. Use this to + play as singleplayer or to connect to play in multiplayer modes. + . + This multicraft features and permit to use and serve + to both older and newer minetest games Package: multicraft-server Architecture: any Depends: multicraft-data (= ${source:Version}), adduser, lsb-base (>= 3.0-6), ${misc:Depends}, ${shlibs:Depends} -Recommends: minetest-game | multicraft-game -Description: Multiplayer infinite-world block sandbox (server only) - Multicraft is a minecraft-inspired game written from scratch and licensed +Recommends: minetest-game | multicraft-game | minetest-game-minenux +Provides: minetest-server +Description: voxel game engine based on minetest - server multiplayer + Multicraft is a fork from minetest, a voxel game written from scratch and licensed under the LGPL (version 2.1 or later). It supports both survival and creative modes along with multiplayer support, dynamic lighting, and an "infinite" map generator. . - This is the multicraft server package. - This is a improved upgrade over 5.2 series due 5.X one superset and changed - the protocol of network. + These are the server flavour with multiprotocol for any minetest engine, such as + the textures and other graphical files and the standard mods. Use this to + provide and deploy a service where players can connect over a network. + . + This multicraft features and permit to use and serve + to both older and newer minetest games Package: multicraft-data Architecture: all Depends: adduser,${misc:Depends} -Provides: minetest-game, multicraft-game-minenux -Description: Multiplayer infinite-world block sandbox (data files) - Multicraft is a minecraft-inspired game written from scratch and licensed +Provides: multicraft-game, multicraft-game-minimal +Description: voxel game engine based on minetest - shared common data files + Multicraft is a fork from minetest, a voxel game written from scratch and licensed under the LGPL (version 2.1 or later). It supports both survival and creative modes along with multiplayer support, dynamic lighting, and an "infinite" map generator. . - These are the files used by both client and server packages, such as - the textures and other graphical files and the standard mods. - This is a improved upgrade over 5.2 series due 5.X one superset and changed - the protocol of network. + These are the shared data files for both server and client programs, such as + the textures and other graphical files and the standard mods. Use this to + provide and deploy a service where players can connect over a network. + . + This multicraft features and permit to use and serve + to both older and newer minetest games diff --git a/misc/debian/multicraft-data.install b/misc/debian/multicraft-data.install index 60f63eadb..24eb58c1a 100644 --- a/misc/debian/multicraft-data.install +++ b/misc/debian/multicraft-data.install @@ -1,4 +1,4 @@ usr/share/games/multicraft -#usr/share/locale usr/share/metainfo usr/share/icons/hicolor +usr/share/doc/multicraft/*.txt usr/share/doc/multicraft-data/ \ No newline at end of file diff --git a/misc/debian/multicraft-server.README.Debian b/misc/debian/multicraft-server.README.Debian index 242679779..ee4d18c91 100644 --- a/misc/debian/multicraft-server.README.Debian +++ b/misc/debian/multicraft-server.README.Debian @@ -1,6 +1,9 @@ multicraft-server for Debian ========================== +The documentation of api and information is on the multicraft-data package, +check the files at /usr/share/doc/multicraft-data/ + Since version 0.4.10+repack-3 Debian supports running multiple Minetest servers. An unprivileged system-wide user, Debian-minetest, controls the server. diff --git a/misc/debian/multicraft-server.install b/misc/debian/multicraft-server.install index 4d62c89e6..6686e346c 100644 --- a/misc/debian/multicraft-server.install +++ b/misc/debian/multicraft-server.install @@ -1,2 +1,6 @@ -usr/bin/multicraftserver usr/games +usr/bin/multicraftserver +etc/init.d/* +etc/logrotate.d/* +usr/lib/systemd/system/* usr/share/man/man6/multicraftserver.6 +usr/share/doc/multicraft/*example* usr/share/doc/multicraft-server/ \ No newline at end of file diff --git a/misc/debian/rules b/misc/debian/rules index 622dd2ffc..85d521b4f 100755 --- a/misc/debian/rules +++ b/misc/debian/rules @@ -1,33 +1,9 @@ #!/usr/bin/make -f -export DH_VERBOSE = 1 -DH_VERBOSE = 1 -export VERBOSE = 1 -VERBOSE = 1 - DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -CUFLAGS = -O0 -else -CUFLAGS = -O2 -fomit-frame-pointer -fexpensive-optimizations -fpermissive -Wall -ifneq (,$(findstring i386,$(DEB_BUILD_ARCH))) -CUFLAGS = -m32 -O3 -fomit-frame-pointer -fexpensive-optimizations -march=pentium3 -mtune=nocona -mmmx -msse -mno-sse2 -mno-sse3 -fpermissive -mfpmath=sse -Wall -endif -ifneq (,$(findstring i486,$(DEB_BUILD_ARCH))) -CUFLAGS = -m32 -O3 -fomit-frame-pointer -fexpensive-optimizations -march=pentium3 -mtune=nocona -mmmx -msse -mno-sse2 -mno-sse3 -fpermissive -mfpmath=sse -Wall -endif -ifneq (,$(findstring amd64,$(DEB_BUILD_ARCH))) -CUFLAGS = -O3 -fomit-frame-pointer -fexpensive-optimizations -mtune=nocona -mmmx -msse -msse2 -fpermissive -mfpmath=sse -Wall -endif -endif -export CFLAGS=$(CUFLAGS) -export CXXFLAGS=$(CUFLAGS) -export DEB_CFLAGS_MAINT_APPEND = $(CUFLAGS) -export DEB_CXXFLAGS_MAINT_APPEND = $(CUFLAGS) - export DEB_BUILD_MAINT_OPTIONS = hardening=+fortify,+stackprotector,+relro,+bindnow,-pie # older bz comprension export DEB_DH_BUILDDEB_ARGS = -- -Zbzip2 @@ -61,19 +37,12 @@ override_dh_auto_configure: -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=RelWithDebInfo -# -DPNG_PNG_INCLUDE_DIR=$(pkg-config libpng --variable=includedir) \ - -override_dh_installchangelogs: -# dh_installchangelogs debian/changelog.upstream - override_dh_install: - find . -iname "license.txt" -delete dh_install --list-missing override_dh_clean: dh_clean $(RM) -r bin - $(RM) -r lib/jsoncpp lib/gmp override_dh_builddeb: dh_builddeb -- -Zgzip diff --git a/misc/debian/watch.ex b/misc/debian/watch.ex deleted file mode 100644 index a9c783fff..000000000 --- a/misc/debian/watch.ex +++ /dev/null @@ -1,38 +0,0 @@ -# Example watch control file for uscan -# Rename this file to "watch" and then you can run the "uscan" command -# to check for upstream updates and more. -# See uscan(1) for format - -# Compulsory line, this is a version 4 file -version=4 - -# PGP signature mangle, so foo.tar.gz has foo.tar.gz.sig -#opts="pgpsigurlmangle=s%$%.sig%" - -# HTTP site (basic) -#http://example.com/downloads.html \ -# files/multicraft-([\d\.]+)\.tar\.gz debian uupdate - -# Uncomment to examine an FTP server -#ftp://ftp.example.com/pub/multicraft-(.*)\.tar\.gz debian uupdate - -# SourceForge hosted projects -# http://sf.net/multicraft/ multicraft-(.*)\.tar\.gz debian uupdate - -# GitHub hosted projects -#opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%-$1.tar.gz%" \ -# https://github.com//multicraft/tags \ -# (?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate - -# PyPI -# https://pypi.debian.net/multicraft/multicraft-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) - -# Direct Git -# opts="mode=git" http://git.example.com/multicraft.git \ -# refs/tags/v([\d\.]+) debian uupdate - - - - -# Uncomment to find new files on GooglePages -# http://example.googlepages.com/foo.html multicraft-(.*)\.tar\.gz diff --git a/misc/fedora/multicraft.spec b/misc/fedora/multicraft.spec index 942497139..8b2ccdfe4 100644 --- a/misc/fedora/multicraft.spec +++ b/misc/fedora/multicraft.spec @@ -4,15 +4,15 @@ # Copyright (c) 2022 PICCORO Lenz McKAY # -%define minetestuser %{name} -%define minetestgroup %{name} +%define multicraftuser %{name} +%define multicraftgroup %{name} Name: multicraft Version: 2.0.3 Release: 0%{?dist} -Summary: A Minetest/Minecraft based game +Summary: minetest voxel game engine with easy modding and game creation License: CC-BY-SA-3.0 AND LGPL-3-or-later Group: Amusements/Games/3D/Simulation -URL: https://codeberg.org/minenux/minetest-engine-multicraft +URL: https://multicraft.world Source0: %{name}_%{version}.orig.tar.gz #Source1: https://github.com/multicraft/irrlicht/archive/%{irrlichtmt_version}/irrlicht-%{irrlichtmt_version}.tar.gz #Patch0: minetest-fix-luajit-include-path.patch @@ -74,11 +74,20 @@ Recommends: minetest-game Provides: minetest-runtime = %{version} %description -An infinite-world block sandbox game and a game engine, inspired by -InfiniMiner, Minecraft and the like BUT FORKED FROM MINETEST +Multicraft is a fork from minetest, a voxel game written from scratch and licensed +under the LGPL (version 2.1 or later). It supports both survival and creative +modes along with multiplayer support, dynamic lighting, and an "infinite" map +generator. + +This is the graphics player client with multiprotocol for any minetest engine, +the textures and other graphical files and the standard mods. Use this to +play as singleplayer or to connect to play in multiplayer modes. + +This multicraft features and permit to use and serve +to both older and newer minetest games %package %{name}server -Summary: Multicraft server for LAN and network only +Summary: voxel game engine based on minetest - server multiplayer License: LGPL-2.1-or-later Group: Amusements/Games/3D/Simulation Requires: %{name}-data = %{version} @@ -93,13 +102,20 @@ Provides: minetest-runtime = %{version} %{?systemd_requires} %description %{name}server -An infinite-world block sandbox game and a game engine, inspired by -InfiniMiner, Minecraft and the like BUT FORKED FROM MINETEST +Multicraft is a fork from minetest, a voxel game written from scratch and licensed +under the LGPL (version 2.1 or later). It supports both survival and creative +modes along with multiplayer support, dynamic lighting, and an "infinite" map +generator. -This package contains a multicraft server. +These are the server flavour with multiprotocol for any minetest engine, such as +the textures and other graphical files and the standard mods. Use this to +provide and deploy a service where players can connect over a network. + +This multicraft features and permit to use and serve +to both older and newer minetest games %package data -Summary: Multicraft shared data +Summary: voxel game engine based on minetest - common data files License: CC-BY-SA-3.0 AND LGPL-2.1-or-later Group: Amusements/Games/3D/Simulation Requires: google-arimo-fonts @@ -108,10 +124,18 @@ Requires: google-droid-fonts BuildArch: noarch %description data -An infinite-world block sandbox game and a game engine, inspired by -InfiniMiner, Minecraft and the like. +Multicraft is a fork from minetest, a voxel game written from scratch and licensed +under the LGPL (version 2.1 or later). It supports both survival and creative +modes along with multiplayer support, dynamic lighting, and an "infinite" map +generator. -This package contains data for multicraft and multicraftserver. +These are the files used by both client and server packages, such as +the textures and other graphical files and the standard mods. +This is a improved upgrade over 5.2 series due 5.X one superset and changed +the protocol of network. + +This multicraft features and permit to use and serve +to both older and newer minetest games %if 0%{?fedora_version} > 32 %global debug_package %{nil} @@ -141,19 +165,8 @@ find . -name .luacheckrc -print -delete %undefine _hardened_build %undefine _annotated_build %undefine _strict_symbol_defs_build -CFLAGS="-O3 -fomit-frame-pointer -Wall -ffp-contract=off" CXXFLAGS="-O3 -fomit-frame-pointer -Wall -ffp-contract=off -fpermissive" LDFLAGS="-Wl,-z,relro -Wl,--as-needed -Wl,-z,now" -%ifarch x86_64 -CFLAGS="-O3 -fomit-frame-pointer -mtune=nocona -mmmx -msse -msse2 -Wall -ffp-contract=off" -CXXFLAGS="-O3 -fomit-frame-pointer -mtune=nocona -mmmx -msse -msse2 -Wall -ffp-contract=off -fpermissive" -%endif -%ifarch %{ix86} -CFLAGS="-O3 -march=pentium3 -mtune=nocona -mfpmath=sse -fomit-frame-pointer -mmmx -msse -msse2 -mno-sse4 -mno-sse3 -fpermissive -Wall -fexpensive-optimization -s" -CXXFLAGS="-O3 -march=pentium3 -mtune=nocona -mfpmath=sse -fomit-frame-pointer -mmmx -msse -msse2 -mno-sse4 -mno-sse3 -fpermissive -Wall -fexpensive-optimizati -ons -fpermissive" -%endif %ifarch aarch64 %define _lto_cflags %{nil} %endif @@ -164,24 +177,27 @@ ons -fpermissive" -DCMAKE_CXX_FLAGS="%{optflags} -mbranch-protection=none" \ %endif %endif - -DCUSTOM_DOCDIR="%{_docdir}/%{name}" \ - -DCUSTOM_LOCALEDIR="%{_datadir}/locale" \ - -DCUSTOM_SHAREDIR="%{_datadir}/games/%{name}" \ - -DBUILD_SERVER=ON \ - -DRUN_IN_PLACE=OFF \ - -DENABLE_CURL=ON \ - -DENABLE_SOUND=ON \ - -DENABLE_LUAJIT=ON \ - -DENABLE_GETTEXT=ON \ - -DENABLE_FREETYPE=ON \ - -DENABLE_SYSTEM_GMP=ON \ - -DENABLE_SYSTEM_JSONCPP=ON \ - -DPNG_PNG_INCLUDE_DIR=$(pkg-config libpng --variable=includedir) \ - -DENABLE_SPATIAL=ON \ - -DENABLE_LEVELDB=ON \ - -DENABLE_REDIS=ON \ - -DENABLE_POSTGRESQL=ON \ -%{nil} + -DCUSTOM_DOCDIR="%{_docdir}/%{name}-data" \ + -DCUSTOM_LOCALEDIR="%{_datadir}/locale" \ + -DCUSTOM_SHAREDIR="%{_datadir}/games/%{name}" \ + -DBUILD_SERVER=ON \ + -DBUILD_CLIENT=ON \ + -DRUN_IN_PLACE=OFF \ + -DENABLE_CURL=ON \ + -DENABLE_SOUND=ON \ + -DENABLE_LUAJIT=ON \ + -DENABLE_GETTEXT=ON \ + -DENABLE_FREETYPE=ON \ + -DENABLE_SYSTEM_GMP=ON \ + -DENABLE_SYSTEM_JSONCPP=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DENABLE_SPATIAL=ON \ + -DENABLE_LEVELDB=ON \ + -DENABLE_REDIS=ON \ + -DENABLE_POSTGRESQL=ON \ + -DPNG_PNG_INCLUDE_DIR=$(pkg-config libpng --variable=includedir) \ +%{nil}} + %if 0%{?fedora_version} > 32 %cmake_build %else @@ -217,7 +233,7 @@ fi %pre %{name}server getent group %{name} > /dev/null || %{_sbindir}/groupadd -r %{multicraftgroup} -getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{multicraftgroup} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "user for %{name}server" %{multicraftuser} +getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{multicraftgroup} -d %{_localstatedir}/games/%{name} -s /sbin/nologin -c "user for %{name}server" %{multicraftuser} %service_add_pre %{name}@.service %post %{name}server @@ -236,19 +252,19 @@ getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{multicraftgroup %files %{name}server %{_bindir}/%{name}server -%attr(0755,%{multicraftuser},%{multicraftgroup}) %{_localstatedir}/lib/%{name}/ +%attr(0755,%{multicraftuser},%{multicraftgroup}) %{_localstatedir}/games/%{name}/ %{_mandir}/man6/%{name}server.6%{?ext_man} %dir %{_sysconfdir}/%{name} %config %{_sysconfdir}/%{name}/multicraft.conf.example -# %{_unitdir}/%{name}@.service -# %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%{_unitdir}/%{name}@.service +%{_sysconfdir}/logrotate.d/%{name} # %config(noreplace) %{_sysconfdir}/rsyslog.d/%{name}.conf %files data %license LICENSE.txt %doc README.* %doc %{_docdir}/%{name}/ -%{_datadir}/games/%{name}/ +%{_datadir}/games/%{name} %dir %{_datadir}/icons/hicolor/ %{_datadir}/icons/hicolor/*/apps/%{name}.* %dir %{_datadir}/metainfo/ diff --git a/misc/multicraftserver.service b/misc/multicraftserver.service index 01f396a37..3e6e28931 100644 --- a/misc/multicraftserver.service +++ b/misc/multicraftserver.service @@ -1,5 +1,5 @@ [Unit] -Description=Multicraft multiplayer server multicraft.conf server config +Description=Multicraft server multicraft.conf Documentation=man:multicraftserver(6) After=network.target RequiresMountsFor=/var/games/multicraft diff --git a/misc/multicraftserver@.service b/misc/multicraftserver@.service index d4a9583d1..4e0d2d8ce 100644 --- a/misc/multicraftserver@.service +++ b/misc/multicraftserver@.service @@ -1,5 +1,5 @@ [Unit] -Description=Multicraft multiplayer server %i.conf server config +Description=Multicraft server %i.conf config Documentation=man:multicraftserver(6) After=network.target RequiresMountsFor=/var/games/multicraft diff --git a/misc/net.minetest.multicraft.appdata.xml b/misc/net.minetest.multicraft.appdata.xml index b98e5087a..0ad9dc089 100644 --- a/misc/net.minetest.multicraft.appdata.xml +++ b/misc/net.minetest.multicraft.appdata.xml @@ -10,17 +10,20 @@ mild Multicraft - Multiplayer mine infinite-world block sandbox game + voxel game engine based on minetest

- Multicraft is an infinite-world block sandbox game and game engine. + Multicraft is a fork from minetest, a voxel game written from scratch and licensed + under the LGPL (version 2.1 or later). It supports both survival and creative + modes along with multiplayer support, dynamic lighting, and an "infinite" map + generator.

Players can create and destroy various types of blocks in a three-dimensional open world. This allows forming structures in every possible creation, on multiplayer servers or in singleplayer.

- Multicraft is designed to be simple, stable, and portable. - It is lightweight enough to run on fairly old hardware. + This multicraft features and permit to use and serve + to both older and newer minetest games

Multicraft has many features, including:

diff --git a/misc/net.minetest.multicraft.desktop b/misc/net.minetest.multicraft.desktop index 73affba7c..cc35620ec 100644 --- a/misc/net.minetest.multicraft.desktop +++ b/misc/net.minetest.multicraft.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=multicraft GenericName=multicraft -Comment=Multiplayer infinite-world block sandbox +Comment=voxel game engine based on minetest Comment[de]=Mehrspieler-Sandkastenspiel mit unendlichen Blockwelten Comment[es]=Juego sandbox multijugador con mundos infinitos Comment[fr]=Jeu multijoueurs de type bac à sable avec des mondes infinis