From 6e0bb1bcd3c934c17725b01c3eb008046da48d6d4f93ee14b5e554577a5706e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Sun, 26 Jul 2020 06:14:35 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/games/0ad?expand=0&rev=101 --- 0ad-0.0.21-alpha-unix-build.tar.xz | 3 - 0ad-0.0.23b-alpha-unix-build.tar.xz | 3 + 0ad-desktop.patch | 11 --- 0ad.changes | 100 ++++++++++++++++++++++++++++ 0ad.spec | 77 ++++++++++----------- _constraints | 11 +++ system-tinygettext.patch | 85 ----------------------- 7 files changed, 150 insertions(+), 140 deletions(-) delete mode 100644 0ad-0.0.21-alpha-unix-build.tar.xz create mode 100644 0ad-0.0.23b-alpha-unix-build.tar.xz delete mode 100644 0ad-desktop.patch create mode 100644 _constraints delete mode 100644 system-tinygettext.patch diff --git a/0ad-0.0.21-alpha-unix-build.tar.xz b/0ad-0.0.21-alpha-unix-build.tar.xz deleted file mode 100644 index ff49fdb..0000000 --- a/0ad-0.0.21-alpha-unix-build.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:96be23e4284a3931ef9536f988f2517040bde1f8700ee048bff18c932d8683cf -size 29196476 diff --git a/0ad-0.0.23b-alpha-unix-build.tar.xz b/0ad-0.0.23b-alpha-unix-build.tar.xz new file mode 100644 index 0000000..25095af --- /dev/null +++ b/0ad-0.0.23b-alpha-unix-build.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01bff7641ee08cac896c54d518d7e4b01752513105558f212e3199d747512a37 +size 31922812 diff --git a/0ad-desktop.patch b/0ad-desktop.patch deleted file mode 100644 index 81b2496..0000000 --- a/0ad-desktop.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Pdpru 0ad-0.0.21-alpha.orig/build/resources/0ad.desktop 0ad-0.0.21-alpha/build/resources/0ad.desktop ---- 0ad-0.0.21-alpha.orig/build/resources/0ad.desktop 2016-11-01 19:07:21.000000000 +0100 -+++ 0ad-0.0.21-alpha/build/resources/0ad.desktop 2016-12-07 12:37:05.222683737 +0100 -@@ -6,7 +6,6 @@ Icon=0ad - Terminal=false - Type=Application - Categories=Game;StrategyGame; --URL=https://play0ad.com/ - Comment=A real-time strategy game of ancient warfare - Comment[de]=Ein Echtzeitstrategiespiel, das die Kriegsführung der Antike behandelt - Comment[es]=Un juego de estrategia en tiempo real de guerra antigua diff --git a/0ad.changes b/0ad.changes index 07ca073..e560ec7 100644 --- a/0ad.changes +++ b/0ad.changes @@ -1,3 +1,103 @@ +------------------------------------------------------------------- +Fri Dec 20 10:14:09 UTC 2019 - Dominique Leuenberger + +- Disable LTO on i586. + +------------------------------------------------------------------- +Mon May 20 12:12:08 UTC 2019 - Guillaume GARDET + +- Add _constraints to avoid build failures due to OOM + +------------------------------------------------------------------- +Tue Apr 9 20:22:42 UTC 2019 - Stefan Brüns + +- Spec file cleanup: + * Use https for Url and Source tags + * Remove defattr + * Remove __DATE__ mangling, handled by GCC + SOURCE_DATE_EPOCH + * Remove support for Leap 42.x, unresolvable anyway + +------------------------------------------------------------------- +Tue Dec 25 12:18:12 UTC 2018 - Michael Vetter + +- Update to 0.0.23b: + See https://play0ad.com/re-release-of-0-a-d-alpha-23-ken-wood/ + +------------------------------------------------------------------- +Fri May 18 09:03:04 UTC 2018 - mvetter@suse.com + +- Update to 0.0.23: + See https://play0ad.com/new-release-0-a-d-alpha-23-ken-wood/ +- Remove fix_abs_of_unsigned_char_on_arm.patch: upstreamed +- Remove system-tinygettext.patch: + Upstream thinks this might lead to problems + See https://trac.wildfiregames.com/ticket/4192 +- Add BuildReq libsodium and remove tinygettext to use shipped one + +------------------------------------------------------------------- +Fri Mar 9 17:07:45 UTC 2018 - stefan.bruens@rwth-aachen.de + +- Keep fix_abs_of_unsigned_char_on_arm.patch intact and disable + the conflicting/irrelevant hunk in the spec file + +------------------------------------------------------------------- +Sun Feb 25 20:33:53 UTC 2018 - stefan.bruens@rwth-aachen.de + +- Revert the changes to use bundled mozjs38 on Leap 42.3 again + (no changelog entry), it does not build on 42.3. Use fixed + mozjs38 from distribution instead. + +------------------------------------------------------------------- +Sat Feb 24 18:46:33 UTC 2018 - stefan.bruens@rwth-aachen.de + +- Add fix_abs_of_unsigned_char_on_arm.patch, fixes build on 32/64 + bit ARM (and probably PPC) + +------------------------------------------------------------------- +Sat Feb 3 14:27:50 UTC 2018 - guillaume@opensuse.org + +- Enable nvidia-texture-tools only on supported archs + +------------------------------------------------------------------- +Fri Feb 2 06:06:05 UTC 2018 - stefan.bruens@rwth-aachen.de + +- Use system mozjs38, bundled one fails to build on TW +- Remove special handling for Leap 42.1 +- Pass compiler flags to bundled Collada + +------------------------------------------------------------------- +Tue Nov 21 08:43:30 UTC 2017 - adam.majer@suse.de + +- Stop depending on boost-devel (boo#1062766) + +------------------------------------------------------------------- +Fri Aug 11 19:35:27 UTC 2017 - mailaender@opensuse.org + +- Build with system nvidia-texture-tools (boo#1053393) + +------------------------------------------------------------------- +Fri Jul 28 10:37:17 UTC 2017 - dimstar@opensuse.org + +- Update to version 0.0.22: + + Remake of many models, animations and textures, two new music + tracks. + + Configuration-free Multiplayer Hosting. + + Capture the Relic Gamemode. + + Aura and Heal Range Visualization. + + Twelve new maps, including scripted enemies, rising water and a + tutorial. + + Espionage Technology, Team Bonuses and Hero Auras. + + Petra AI Diplomacy and Attack Strategies. + + Summary Screen Graphs. + + Cinema Path Editing. + + Buddy System. +- Drop 0ad-desktop.patch: fixed upstream. + +------------------------------------------------------------------- +Fri Feb 17 11:38:45 UTC 2017 - dimstar@opensuse.org + +- Install the upstream provided appdata.xml file. + ------------------------------------------------------------------- Wed Dec 7 00:05:47 UTC 2016 - ecsos@opensuse.org diff --git a/0ad.spec b/0ad.spec index d9f1f04..8d1577c 100644 --- a/0ad.spec +++ b/0ad.spec @@ -1,7 +1,7 @@ # # spec file for package 0ad # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,32 +12,39 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # +# Enable NVTT only on arch supported by nvidia-texture-tools +%ifarch %{ix86} x86_64 ppc +%bcond_without enable_nvtt +%else +%bcond_with enable_nvtt +%endif + Name: 0ad -Version: 0.0.21 +Version: 0.0.23b Release: 0 Summary: A real-time strategy game of ancient warfare -License: GPL-2.0+ and LGPL-3.0+ and CC-BY-SA-3.0 and MIT and ISC and MPL-2.0 and BSD-3-Clause +License: GPL-2.0-or-later AND LGPL-3.0-or-later AND CC-BY-SA-3.0 AND MIT AND ISC AND MPL-2.0 AND BSD-3-Clause Group: Amusements/Games/Strategy/Real Time -Url: http://play0ad.com/ -Source: http://sourceforge.net/projects/zero-ad/files/releases/%{name}-%{version}-alpha-unix-build.tar.xz -Source99: %{name}.changes -# PATCH-FEATURE-UPSTREAM system-tinygettext.patch -- http://trac.wildfiregames.com/ticket/4192 -Patch1: system-tinygettext.patch -# PATCH-RPMLINT-ERROR 0ad-desktopt.patch -- invalid key URL -Patch2: %{name}-desktop.patch -BuildRequires: boost-devel +URL: https://play0ad.com/ +#Source: http://sourceforge.net/projects/zero-ad/files/releases/%{name}-%{version}-alpha-unix-build.tar.xz +# SF is repeatedly not up to date. Let's use their site +Source: https://releases.wildfiregames.com/%{name}-%{version}-alpha-unix-build.tar.xz BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: libXcursor-devel +BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_system-devel BuildRequires: libjpeg-devel BuildRequires: libminiupnpc-devel BuildRequires: libpng-devel -BuildRequires: mozilla-nspr-devel BuildRequires: nasm +%if %{with enable_nvtt} +BuildRequires: nvidia-texture-tools +%endif BuildRequires: pkgconfig BuildRequires: python BuildRequires: update-desktop-files @@ -47,14 +54,14 @@ BuildRequires: pkgconfig(gloox) BuildRequires: pkgconfig(icu-i18n) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libenet) +BuildRequires: pkgconfig(libsodium) >= 1.0.13 BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(mozjs-38) BuildRequires: pkgconfig(openal) BuildRequires: pkgconfig(sdl2) -BuildRequires: pkgconfig(tinygettext) BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(zlib) Requires: 0ad-data = %{version} -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description 0 A.D. (pronounced "zero ey-dee") is a real-time strategy (RTS) game @@ -66,24 +73,26 @@ flexible game engine. %prep %setup -q -n %{name}-%{version}-alpha -%patch1 -p1 -%patch2 -p1 - -# Fix usage of __DATE__ and __TIME__ macros -modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{SOURCE99}")" -DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\"" -TIME="\"$(date -d "${modified}" "+%%T")\"" -find . "(" -name '*.[ch]' -o -name '*.cpp' ")" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" \{\} + %build +%ifarch %ix86 +%define _lto_cflags %{nil} +%endif export CFLAGS="%{optflags}" +# bundled Collada uses CCFLAGS +export CCFLAGS="%{optflags}" export CPPFLAGS="%{optflags} -fpermissive" build/workspaces/update-workspaces.sh \ %{?_smp_mflags} \ --bindir=%{_bindir} \ --datadir=%{_datadir}/%{name} \ --libdir=%{_libdir}/%{name} \ - --with-system-tinygettext +%if %{with enable_nvtt} + --with-system-nvtt \ +%else + --without-nvtt \ +%endif + --with-system-mozjs38 \ pushd build/workspaces/gcc make verbose=1 %{?_smp_mflags} @@ -94,13 +103,9 @@ install -Dm 0755 binaries/system/ActorEditor %{buildroot}%{_bindir}/ActorEditor install -Dm 0755 binaries/system/pyrogenesis %{buildroot}%{_bindir}/pyrogenesis install -Dm 0755 binaries/system/libCollada.so %{buildroot}%{_libdir}/%{name}/libCollada.so install -Dm 0755 binaries/system/libAtlasUI.so %{buildroot}%{_libdir}/%{name}/libAtlasUI.so -install -Dm 0755 binaries/system/libmozjs38-ps-release.so %{buildroot}%{_libdir}/%{name}/libmozjs38-ps-release.so -install -Dm 0755 binaries/system/libnvcore.so %{buildroot}%{_libdir}/%{name}/libnvcore.so -install -Dm 0755 binaries/system/libnvimage.so %{buildroot}%{_libdir}/%{name}/libnvimage.so -install -Dm 0755 binaries/system/libnvmath.so %{buildroot}%{_libdir}/%{name}/libnvmath.so -install -Dm 0755 binaries/system/libnvtt.so %{buildroot}%{_libdir}/%{name}/libnvtt.so install -Dm 0644 build/resources/0ad.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop +install -Dm 0644 build/resources/0ad.appdata.xml %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml install -Dm 0644 build/resources/0ad.png %{buildroot}%{_datadir}/pixmaps/%{name}.png %suse_update_desktop_file %{name} @@ -111,24 +116,14 @@ mkdir -p %{buildroot}%{_libdir}/%{name} mkdir -p %{buildroot}%{_datadir}/%{name} %files -%defattr(-,root,root) %doc README.txt -%if 0%{?suse_version} > 1320 %license LICENSE.txt license_gpl-2.0.txt license_lgpl-2.1.txt license_mit.txt -%else -%doc LICENSE.txt license_gpl-2.0.txt license_lgpl-2.1.txt license_mit.txt -%endif %{_bindir}/0ad %{_bindir}/pyrogenesis %{_bindir}/ActorEditor -%{_libdir}/%{name}/libCollada.so -%{_libdir}/%{name}/libAtlasUI.so -%{_libdir}/%{name}/libmozjs38-ps-release.so -%{_libdir}/%{name}/libnvcore.so -%{_libdir}/%{name}/libnvimage.so -%{_libdir}/%{name}/libnvmath.so -%{_libdir}/%{name}/libnvtt.so +%{_libdir}/%{name}/ %{_datadir}/pixmaps/%{name}.png +%{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop %dir %{_libdir}/%{name} %dir %{_datadir}/%{name} diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..a141008 --- /dev/null +++ b/_constraints @@ -0,0 +1,11 @@ + + + + + 6 + + + 3500 + + + diff --git a/system-tinygettext.patch b/system-tinygettext.patch deleted file mode 100644 index 67d63b6..0000000 --- a/system-tinygettext.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff -Pdpru 0ad-0.0.21-alpha.orig/build/premake/extern_libs4.lua 0ad-0.0.21-alpha/build/premake/extern_libs4.lua ---- 0ad-0.0.21-alpha.orig/build/premake/extern_libs4.lua 2016-09-02 18:18:57.000000000 +0200 -+++ 0ad-0.0.21-alpha/build/premake/extern_libs4.lua 2016-12-07 11:21:54.000000000 +0100 -@@ -634,7 +634,16 @@ extern_lib_defs = { - }, - tinygettext = { - compile_settings = function() -- add_third_party_include_paths("tinygettext") -+ if _OPTIONS["with-system-tinygettext"] then -+ pkgconfig_cflags("tinygettext") -+ else -+ add_third_party_include_paths("tinygettext") -+ end -+ end, -+ link_settings = function() -+ if _OPTIONS["with-system-tinygettext"] then -+ pkgconfig_libs("tinygettext") -+ end - end, - }, - valgrind = { -diff -Pdpru 0ad-0.0.21-alpha.orig/build/premake/premake4.lua 0ad-0.0.21-alpha/build/premake/premake4.lua ---- 0ad-0.0.21-alpha.orig/build/premake/premake4.lua 2016-09-18 10:54:27.000000000 +0200 -+++ 0ad-0.0.21-alpha/build/premake/premake4.lua 2016-12-07 11:25:01.000000000 +0100 -@@ -15,6 +15,7 @@ newoption { trigger = "without-miniupnpc - newoption { trigger = "without-nvtt", description = "Disable use of NVTT" } - newoption { trigger = "without-pch", description = "Disable generation and usage of precompiled headers" } - newoption { trigger = "without-tests", description = "Disable generation of test projects" } -+newoption { trigger = "with-system-tinygettext", description = "Search standard paths for tinygettext, instead of using bundled copy" } - - -- OS X specific options - newoption { trigger = "macosx-bundle", description = "Enable OSX bundle, the argument is the bundle identifier string (e.g. com.wildfiregames.0ad)" } -@@ -601,29 +602,32 @@ function setup_all_libs () - end - setup_static_lib_project("network", source_dirs, extern_libs, {}) - -- source_dirs = { -- "third_party/tinygettext/src", -- } -- extern_libs = { -- "iconv", -- "boost", -- } -- setup_third_party_static_lib_project("tinygettext", source_dirs, extern_libs, { } ) -- -- -- it's an external library and we don't want to modify its source to fix warnings, so we just disable them to avoid noise in the compile output -- if _ACTION == "vs2013" then -- buildoptions { -- "/wd4127", -- "/wd4309", -- "/wd4800", -- "/wd4100", -- "/wd4996", -- "/wd4099", -- "/wd4503" -+ if _OPTIONS["with-system-tinygettext"] then -+ table.insert(extern_libs, "tinygettext") -+ else -+ source_dirs = { -+ "third_party/tinygettext/src", - } -+ extern_libs = { -+ "iconv", -+ "boost", -+ } -+ setup_third_party_static_lib_project("tinygettext", source_dirs, extern_libs, { } ) -+ -+ -- it's an external library and we don't want to modify its source to fix warnings, so we just disable them to avoid noise in the compile output -+ if _ACTION == "vs2013" then -+ buildoptions { -+ "/wd4127", -+ "/wd4309", -+ "/wd4800", -+ "/wd4100", -+ "/wd4996", -+ "/wd4099", -+ "/wd4503" -+ } -+ end - end - -- - if not _OPTIONS["without-lobby"] then - source_dirs = { - "lobby",