diff --git a/README.md b/README.md index 10b48bf..e161d33 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # megaglest +Glest is a free 3D real time strategy game, that can be modified using XML and a set of tools. +Glest takes place in a context which could be compared to that of the pre-renaissance Europe, with the licence that magic forces exist in the environment and can be controlled. + diff --git a/megaglest-3.7.1-miniupnpc-1.8.patch b/megaglest-3.7.1-miniupnpc-1.8.patch new file mode 100644 index 0000000..6117722 --- /dev/null +++ b/megaglest-3.7.1-miniupnpc-1.8.patch @@ -0,0 +1,158 @@ +http://megaglest.svn.sourceforge.net/viewvc/megaglest?view=revision&revision=3958 +https://bugs.gentoo.org/show_bug.cgi?id=456952 + +--- trunk/source/shared_lib/CMakeLists.txt 2012/12/24 18:05:13 3957 ++++ trunk/source/shared_lib/CMakeLists.txt 2012/12/26 01:11:11 3958 +@@ -297,7 +297,12 @@ + ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_6) + message(STATUS "Adding macro for miniupnpc version: pre v1.6") + ENDIF() +- IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6) ++ IF(MINIUPNPC_VERSION_PRE1_7) ++ ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_7) ++ message(STATUS "Adding macro for miniupnpc version: pre v1.7") ++ ENDIF() ++ ++ IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7) + message(STATUS "**No macros required for miniupnpc version") + ENDIF() + +--- trunk/mk/cmake/Modules/FindMiniupnpc.cmake 2012/12/24 18:05:13 3957 ++++ trunk/mk/cmake/Modules/FindMiniupnpc.cmake 2012/12/26 01:11:11 3958 +@@ -58,20 +58,40 @@ + #include + int main() + { +- struct UPNPDev *devlist = NULL; +- int upnp_delay = 5000; +- const char *upnp_multicastif = NULL; +- const char *upnp_minissdpdsock = NULL; +- int upnp_sameport = 0; +- int upnp_ipv6 = 0; +- int upnp_error = 0; +- devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error); ++ static struct UPNPUrls urls; ++ static struct IGDdatas data; ++ ++ GetUPNPUrls (&urls, &data, \"myurl\",0); + + return 0; + }" +- MINIUPNPC_VERSION_1_6_OR_HIGHER) +- +- IF (NOT MINIUPNPC_VERSION_1_6_OR_HIGHER) ++ MINIUPNPC_VERSION_1_7_OR_HIGHER) ++ ++ IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER) ++ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) ++ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) ++ check_cxx_source_runs(" ++ #include ++ #include ++ #include ++ #include ++ int main() ++ { ++ struct UPNPDev *devlist = NULL; ++ int upnp_delay = 5000; ++ const char *upnp_multicastif = NULL; ++ const char *upnp_minissdpdsock = NULL; ++ int upnp_sameport = 0; ++ int upnp_ipv6 = 0; ++ int upnp_error = 0; ++ devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error); ++ ++ return 0; ++ }" ++ MINIUPNPC_VERSION_PRE1_7) ++ ENDIF() ++ ++ IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER) + set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) + check_cxx_source_runs(" +@@ -96,25 +116,27 @@ + + ENDIF() + +- set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) +- set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) +- check_cxx_source_runs(" +- #include +- #include +- #include +- #include +- static struct UPNPUrls urls; +- static struct IGDdatas data; +- int main() +- { +- char externalIP[16] = ""; +- UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP); ++ IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER) ++ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) ++ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) ++ check_cxx_source_runs(" ++ #include ++ #include ++ #include ++ #include ++ static struct UPNPUrls urls; ++ static struct IGDdatas data; ++ int main() ++ { ++ char externalIP[16] = ""; ++ UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP); + +- return 0; +- }" +- MINIUPNPC_VERSION_1_5_OR_HIGHER) ++ return 0; ++ }" ++ MINIUPNPC_VERSION_1_5_OR_HIGHER) ++ ENDIF() + +- IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER) ++ IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER) + set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) + check_cxx_source_runs(" +@@ -141,8 +163,12 @@ + IF(MINIUPNPC_VERSION_PRE1_6) + message(STATUS "Found miniupnpc version is pre v1.6") + ENDIF() +- IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6) +- message(STATUS "Found miniupnpc version is v1.6 or higher") ++ IF(MINIUPNPC_VERSION_PRE1_7) ++ message(STATUS "Found miniupnpc version is pre v1.7") ++ ENDIF() ++ ++ IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7) ++ message(STATUS "Found miniupnpc version is v1.7 or higher") + ENDIF() + + else () +--- trunk/source/shared_lib/sources/platform/posix/socket.cpp 2012/12/24 18:05:13 3957 ++++ trunk/source/shared_lib/sources/platform/posix/socket.cpp 2012/12/26 01:11:11 3958 +@@ -2478,13 +2478,22 @@ + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("UPnP device found: %s %s\n", dev->descURL, dev->st); + + //printf("UPnP device found: [%s] [%s] lanaddr [%s]\n", dev->descURL, dev->st,lanaddr); ++#ifndef MINIUPNPC_VERSION_PRE1_7 ++ descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize, lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0])),0); ++#else + descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize, lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0]))); ++#endif + if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"LAN address: %s\n", lanaddr); + + if (descXML) { + parserootdesc (descXML, descXMLsize, &data); + free (descXML); descXML = 0; ++ ++#ifndef MINIUPNPC_VERSION_PRE1_7 ++ GetUPNPUrls (&urls, &data, dev->descURL,0); ++#else + GetUPNPUrls (&urls, &data, dev->descURL); ++#endif + } + snprintf(buf, 255,"UPnP device found: %s %s LAN address %s", dev->descURL, dev->st, lanaddr); + diff --git a/megaglest-3.9.0-help2man.patch b/megaglest-3.9.0-help2man.patch new file mode 100644 index 0000000..a6eeb44 --- /dev/null +++ b/megaglest-3.9.0-help2man.patch @@ -0,0 +1,48 @@ +--- megaglest-3.9.0/source/g3d_viewer/CMakeLists.txt.orig 2015-03-15 04:20:16.171000000 +0100 ++++ megaglest-3.9.0/source/g3d_viewer/CMakeLists.txt 2015-03-15 04:21:31.643000000 +0100 +@@ -167,11 +168,11 @@ + MESSAGE("***-- Found xvfb-run: ${XVFB_EXEC} about to build manpage with it.") + + add_custom_target(${TARGET_NAME_MANPAGE} ALL +- COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} ++ COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${HELP2MAN} --no-discard-stderr --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} + DEPENDS ${TARGET_NAME}) + ELSE() + add_custom_target(${TARGET_NAME_MANPAGE} ALL +- COMMAND ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} ++ COMMAND ${HELP2MAN} --no-discard-stderr --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} + DEPENDS ${TARGET_NAME}) + ENDIF() + ENDIF() +--- megaglest-3.9.0/source/glest_map_editor/CMakeLists.txt.orig 2013-11-19 00:10:38.000000000 +0100 ++++ megaglest-3.9.0/source/glest_map_editor/CMakeLists.txt 2015-03-15 04:22:28.128000000 +0100 +@@ -162,11 +162,11 @@ + MESSAGE("***-- Found xvfb-run: ${XVFB_EXEC} about to build manpage with it.") + + add_custom_target(${TARGET_NAME_MANPAGE} ALL +- COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} ++ COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${HELP2MAN} --no-discard-stderr --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} + DEPENDS ${TARGET_NAME}) + ELSE() + add_custom_target(${TARGET_NAME_MANPAGE} ALL +- COMMAND ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} ++ COMMAND ${HELP2MAN} --no-discard-stderr --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} + DEPENDS ${TARGET_NAME}) + ENDIF() + ENDIF() +--- megaglest-3.9.0/source/glest_game/CMakeLists.txt.orig 2015-03-15 04:26:47.309000000 +0100 ++++ megaglest-3.9.0/source/glest_game/CMakeLists.txt 2015-03-15 04:23:16.678000000 +0100 +@@ -270,11 +270,11 @@ + MESSAGE("***-- Found xvfb-run: ${XVFB_EXEC} about to build manpage with it.") + + add_custom_target(${TARGET_NAME_MANPAGE} ALL +- COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} ++ COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${HELP2MAN} --no-discard-stderr --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} + DEPENDS ${TARGET_NAME}) + ELSE() + add_custom_target(${TARGET_NAME_MANPAGE} ALL +- COMMAND ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} ++ COMMAND ${HELP2MAN} --no-discard-stderr --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} + DEPENDS ${TARGET_NAME}) + ENDIF() + ENDIF() diff --git a/megaglest-3.9.0.4-link-libX11.patch b/megaglest-3.9.0.4-link-libX11.patch new file mode 100644 index 0000000..99ac198 --- /dev/null +++ b/megaglest-3.9.0.4-link-libX11.patch @@ -0,0 +1,21 @@ +--- megaglest-3.9.0/source/glest_game/CMakeLists.txt.orig 2015-03-22 16:16:15.457047179 +0100 ++++ megaglest-3.9.0/source/glest_game/CMakeLists.txt 2015-03-22 16:13:20.294074647 +0100 +@@ -1,7 +1,7 @@ + ######################################################################################### + # common libraries + +-SET(EXTERNAL_LIBS "") ++SET(EXTERNAL_LIBS "-lX11") + SET(TARGET_NAME "megaglest") + SET(TARGET_NAME_MANPAGE "${TARGET_NAME}.6") + +--- megaglest-3.9.0/source/g3d_viewer/CMakeLists.txt.orig 2015-03-22 16:16:26.301045478 +0100 ++++ megaglest-3.9.0/source/g3d_viewer/CMakeLists.txt 2015-03-22 16:15:10.080057431 +0100 +@@ -1,6 +1,6 @@ + # common libraries + +-SET(EXTERNAL_LIBS "") ++SET(EXTERNAL_LIBS "-lX11") + SET(TARGET_NAME "megaglest_g3dviewer") + SET(TARGET_NAME_MANPAGE "${TARGET_NAME}.6") + diff --git a/megaglest.spec b/megaglest.spec new file mode 100644 index 0000000..2d89462 --- /dev/null +++ b/megaglest.spec @@ -0,0 +1,134 @@ +%define dirver %(echo %version | cut -d. -f1-3) +Name: megaglest +Version: 3.13.0 +Release: 2mamba +Summary: 3D real time strategy game +Group: Applications/Games +Vendor: openmamba +Distribution: openmamba +Packager: Ercole 'ercolinux' Carpanetto +URL: http://megaglest.org +Source: https://github.com/MegaGlest/megaglest-source/releases/download/%{version}/megaglest-source-%{version}.tar.xz +#Source: http://sourceforge.net/projects/megaglest/files/megaglest_%{dirver}/megaglest-source-%{version}.tar.xz +Patch0: megaglest-3.7.1-miniupnpc-1.8.patch +Patch1: megaglest-3.9.0-help2man.patch +Patch2: megaglest-3.9.0.4-link-libX11.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libGL-devel +BuildRequires: libGLU-devel +BuildRequires: libICE-devel +BuildRequires: libSDL-devel +BuildRequires: libSM-devel +BuildRequires: libX11-devel +BuildRequires: libXext-devel +BuildRequires: libcurl-devel +BuildRequires: libfontconfig-devel +BuildRequires: libfreetype-devel +BuildRequires: libfribidi-devel +BuildRequires: libftgl-devel +BuildRequires: libgcc +BuildRequires: libglew-devel +BuildRequires: libglib-devel +BuildRequires: libircclient-devel +BuildRequires: libjpeg-devel +BuildRequires: liblua-devel +BuildRequires: libopenal-devel +BuildRequires: libpng-devel +BuildRequires: libstdc++6-devel +BuildRequires: libvlc-devel +BuildRequires: libvorbis-devel +#BuildRequires: libwx_baseu-devel +#BuildRequires: libwx_gtk3u-devel +BuildRequires: libxerces-c-devel +BuildRequires: miniupnpc-devel +## AUTOBUILDREQ-END +BuildRequires: libvlc-devel >= 3.0.6-1mamba +BuildRequires: miniupnpc-devel >= 1.9.20150206-1mamba +Requires: megaglest-data >= 3.13.0 +Provides: glest +Obsoletes: glest +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Glest is a free 3D real time strategy game, that can be modified using XML and a set of tools. +Glest takes place in a context which could be compared to that of the pre-renaissance Europe, with the licence that magic forces exist in the environment and can be controlled. + +%prep +%setup -q -n %{name}-%{dirver} +#%patch0 -p1 +#%patch1 -p1 +%patch2 -p1 + +%build +%cmake -d build \ + -DLUA_INCLUDE_DIR="`pkg-config --variable=includedir lua`" \ + -DLUA_LIBRARY="%{_libdir}/liblua.so.5.3" \ + -DEXTERNAL_LIBS="-lX11" + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall -C build + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_bindir}/megaglest +%{_bindir}/megaglest_editor +%{_bindir}/megaglest_g3dviewer +#%{_datadir}/applications/megaglest.desktop +#%{_datadir}/applications/megaglest_editor.desktop +#%{_datadir}/applications/megaglest_g3dviewer.desktop +%dir %{_datadir}/megaglest +%{_datadir}/megaglest/* +%{_mandir}/man6/megaglest.6* +%{_mandir}/man6/megaglest_editor.6* +%{_mandir}/man6/megaglest_g3dviewer.6* + +%changelog +* Sun Feb 03 2019 Silvan Calarco 3.13.0-2mamba +- rebuilt with libvlc 3.0.6 + +* Tue Aug 21 2018 Silvan Calarco 3.13.0-1mamba +- update to 3.13.0 + +* Sun Mar 22 2015 Silvan Calarco 3.9.0.4-2mamba +- rebuilt by autoport with build requirements: libvlc-devel>=2.2.0-1mamba + +* Sun Mar 15 2015 Silvan Calarco 3.9.0.4-1mamba +- update to 3.9.0.4 + +* Sun Mar 15 2015 Silvan Calarco 3.7.1-4mamba +- rebuilt by autoport with build requirements: miniupnpc-devel>=1.9.20150206-1mamba + +* Mon Jul 07 2014 Automatic Build System 3.7.1-3mamba +- rebuilt by autoport with build requirements: miniupnpc-devel>=1.9.20140610-1mamba + +* Sat Oct 26 2013 Silvan Calarco 3.7.1-2mamba +- rebuilt with vlc 2.1.0 + +* Mon Jul 29 2013 Silvan Calarco 3.7.1-1mamba +- update to 3.7.1 + +* Mon Jul 06 2009 Automatic Build System 3.2.2-1mamba +- automatic update by autodist + +* Thu Apr 16 2009 Silvan Calarco 3.2.1-2mamba +- automatic rebuild by autodist + +* Tue Mar 03 2009 Silvan Calarco 3.2.1-1mamba +- automatic update to 3.2.1 by autodist + +* Sat Sep 27 2008 Silvan Calarco 3.1.2-2mamba +- added requirement for glest-data +- added patch to fix build with gcc 4.3 + +* Tue Jul 29 2008 Ercole 'ercolinux' Carpanetto 3.1.2-1mamba +- correct some bug in the spec file + +* Tue Jul 29 2008 gil 3.1.2-1mamba +- first build +- added desktop files for: glest, glest_editor \ No newline at end of file