pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

freesynd: update to 0.9



Module Name:	pkgsrc-wip
Committed By:	Bartosz Kuzma <bartosz.kuzma%gmail.com@localhost>
Pushed By:	bartosz.kuzma
Date:		Tue Jul 21 05:51:07 2026 +0200
Changeset:	9e3977ed9f15f6c486fe075e4eba82c46dc5b756

Modified Files:
	freesynd/Makefile
	freesynd/PLIST
	freesynd/distinfo
Added Files:
	freesynd/TODO
	freesynd/patches/patch-data_CMakeLists.txt
	freesynd/patches/patch-engine_CMakeLists.txt
	freesynd/patches/patch-engine_include_fs-engine_gfx_font.h
	freesynd/patches/patch-engine_include_fs-engine_io_keys.h
	freesynd/patches/patch-engine_src_menus_widget.cpp
	freesynd/patches/patch-engine_src_system_sdl_system__sdl.cpp
	freesynd/patches/patch-kernel_src_model_missionbriefing.cpp
	freesynd/patches/patch-utils_CMakeLists.txt

Log Message:
freesynd: update to 0.9

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=9e3977ed9f15f6c486fe075e4eba82c46dc5b756

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 freesynd/Makefile                                  | 38 +++++++++++++++-------
 freesynd/PLIST                                     | 21 ++++++------
 freesynd/TODO                                      |  1 +
 freesynd/distinfo                                  | 14 ++++++--
 freesynd/patches/patch-data_CMakeLists.txt         | 16 +++++++++
 freesynd/patches/patch-engine_CMakeLists.txt       | 26 +++++++++++++++
 .../patch-engine_include_fs-engine_gfx_font.h      | 15 +++++++++
 .../patch-engine_include_fs-engine_io_keys.h       | 15 +++++++++
 freesynd/patches/patch-engine_src_menus_widget.cpp | 15 +++++++++
 .../patch-engine_src_system_sdl_system__sdl.cpp    | 15 +++++++++
 .../patch-kernel_src_model_missionbriefing.cpp     | 22 +++++++++++++
 freesynd/patches/patch-utils_CMakeLists.txt        | 15 +++++++++
 12 files changed, 188 insertions(+), 25 deletions(-)

diffs:
diff --git a/freesynd/Makefile b/freesynd/Makefile
index 04a7fc36b8..98a8a0f9bf 100644
--- a/freesynd/Makefile
+++ b/freesynd/Makefile
@@ -1,24 +1,38 @@
 # $NetBSD$
 
-DISTNAME=	freesynd-0.7.5
+PKGNAME=	freesynd-0.9
+DISTNAME=	Freesynd-0.9-Source
 CATEGORIES=	games
-MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:=freesynd/freesynd/freesynd-0.7.5/}
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:=freesynd/freesynd/freesynd-0.9/}
+EXTRACT_SUFX=	.zip
 
 MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=	https://freesynd.sourceforge.io/
 COMMENT=	GPLed reimplementation of the engine for the game Syndicate
-LICENSE=	gnu-gpl-v2
+LICENSE=	gnu-gpl-v3
 
-#HAS_CONFIGURE=	yes
-USE_CMAKE=	yes
-USE_LANGUAGES=	c c++
+.include "../../devel/cmake/build.mk"
 
-CMAKE_CONFIGURE_ARGS+=	-DCMAKE_BUILD_TYPE=release
-CMAKE_CONFIGURE_ARGS+=	-DSDLIMAGE_INCLUDE_DIR=${BUILDLINK_PREFIX.SDL_image}/include
-CMAKE_CONFIGURE_ARGS+=	-DSDLMIXER_INCLUDE_DIR=${BUILDLINK_PREFIX.SDL_mixer}/include
+USE_LANGUAGES=		c c++
+USE_CXX_FEATURES=	c++20
+GCC_REQD+=		13
 
-.include "../../audio/SDL_mixer/buildlink3.mk"
-.include "../../devel/SDL/buildlink3.mk"
-.include "../../graphics/SDL_image/buildlink3.mk"
+INSTALLATION_DIRS+=	share/examples/${PKGBASE}
+EGDIR=			${PREFIX}/share/examples/${PKGBASE}
+CONF_FILES=		${EGDIR}/freesynd.ini ${PKG_SYSCONFDIR}/freesynd.ini
+
+CMAKE_CONFIGURE_ARGS+=	-DCMAKE_BUILD_TYPE=release -DFS_ETC_DIR="${PKG_SYSCONFDIR}"
+
+post-install:
+	${INSTALL_DATA} ${WRKSRC}/data/freesynd.ini ${DESTDIR}${EGDIR}
+
+.include "../../audio/SDL2_mixer/buildlink3.mk"
+.include "../../devel/CLI11/buildlink3.mk"
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../devel/catch2/buildlink3.mk"
+.include "../../graphics/SDL2_image/buildlink3.mk"
 .include "../../graphics/png/buildlink3.mk"
+.include "../../wip/CRCpp/buildlink3.mk"
+.include "../../wip/libADLMIDI/buildlink3.mk"
+.include "../../wip/utfcpp/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/freesynd/PLIST b/freesynd/PLIST
index 5b0550bcd6..e344c9bd3c 100644
--- a/freesynd/PLIST
+++ b/freesynd/PLIST
@@ -1,12 +1,13 @@
 @comment $NetBSD$
 bin/freesynd
-share/freesynd/data/cursors/cursors.png
-share/freesynd/data/lang/english.lng
-share/freesynd/data/lang/french.lng
-share/freesynd/data/lang/german.lng
-share/freesynd/data/lang/italian.lng
-share/freesynd/data/music/assassinate.ogg
-share/freesynd/data/music/intro.ogg
-share/freesynd/data/ref/original_data.crc
-share/freesynd/data/ref/research.dat
-share/freesynd/data/ref/weapons.dat
+share/doc/Freesynd/changelog.gz
+share/doc/Freesynd/copyright
+share/examples/freesynd/freesynd.ini
+share/freesynd/cursors/cursors.png
+share/freesynd/lang/english.lng
+share/freesynd/lang/french.lng
+share/freesynd/lang/german.lng
+share/freesynd/lang/italian.lng
+share/freesynd/ref/original_data.crc
+share/freesynd/ref/research.dat
+share/freesynd/ref/weapons.dat
diff --git a/freesynd/TODO b/freesynd/TODO
new file mode 100644
index 0000000000..5a3f0368e5
--- /dev/null
+++ b/freesynd/TODO
@@ -0,0 +1 @@
+Test on real hardware
diff --git a/freesynd/distinfo b/freesynd/distinfo
index 2499c2f342..624dc82cb2 100644
--- a/freesynd/distinfo
+++ b/freesynd/distinfo
@@ -1,5 +1,13 @@
 $NetBSD$
 
-RMD160 (freesynd-0.7.5.tar.gz) = dfd6c9b0c1368e2e04f12b94716d034b98c673e0
-SHA512 (freesynd-0.7.5.tar.gz) = 70cd28c660c7e000f799746be62dbcdc284a5ab8da8670e5b4f0fca0fdbe265cde1014f08fd6f0ed41fb50188fc1e672c8a4267722715cecaa354f47a8ef746c
-Size (freesynd-0.7.5.tar.gz) = 2622888 bytes
+BLAKE2s (Freesynd-0.9-Source.zip) = 9aa1bde772b3810070bde590a75924733123dca7407842a669b36fca5ddf186c
+SHA512 (Freesynd-0.9-Source.zip) = 0dfd708ff20168df27fd4aec1bbd7c0105b39442ea884c5177714ae1d920f89848c369592edcf90ff4513465a63bce874dbe1979d400301f5257164e56750768
+Size (Freesynd-0.9-Source.zip) = 3973402 bytes
+SHA1 (patch-data_CMakeLists.txt) = cf250872188ec2a3e3b39e215b0a07105f6b4832
+SHA1 (patch-engine_CMakeLists.txt) = 92640bf3b8f450715273800f12852af0d6989838
+SHA1 (patch-engine_include_fs-engine_gfx_font.h) = 9a956d1e02501aacaa12b43e5fedbe0158fc214a
+SHA1 (patch-engine_include_fs-engine_io_keys.h) = f2950e7c0e1de2ee5432cbc02473b2d2fd3f6e73
+SHA1 (patch-engine_src_menus_widget.cpp) = 620bd008d18743a0f489118f7725c50a52675037
+SHA1 (patch-engine_src_system_sdl_system__sdl.cpp) = 58be1ad1d390a62d219a2152861ba6b6c60bf1e1
+SHA1 (patch-kernel_src_model_missionbriefing.cpp) = b69676dd584a5a8712a5b2145d56a31ab2e47920
+SHA1 (patch-utils_CMakeLists.txt) = e068a40c344af43f78a676b554fb38cdc266ba63
diff --git a/freesynd/patches/patch-data_CMakeLists.txt b/freesynd/patches/patch-data_CMakeLists.txt
new file mode 100644
index 0000000000..54d88c8648
--- /dev/null
+++ b/freesynd/patches/patch-data_CMakeLists.txt
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Handle configuration file in pkgsrc way
+
+--- data/CMakeLists.txt.orig	2025-01-22 21:32:28.000000000 +0000
++++ data/CMakeLists.txt
+@@ -47,7 +47,6 @@ elseif(WIN32)
+ else ()
+     install (DIRECTORY . DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/freesynd"
+             PATTERN "freesynd.ini" EXCLUDE
+-            PATTERN "CMakeLists.txt" EXCLUDE)
+-
+-    install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/freesynd.ini DESTINATION "${FS_ETC_DIR}")
++            PATTERN "CMakeLists.txt" EXCLUDE
++            PATTERN "CMakeLists.txt.orig" EXCLUDE)
+ endif()
diff --git a/freesynd/patches/patch-engine_CMakeLists.txt b/freesynd/patches/patch-engine_CMakeLists.txt
new file mode 100644
index 0000000000..7a0befad62
--- /dev/null
+++ b/freesynd/patches/patch-engine_CMakeLists.txt
@@ -0,0 +1,26 @@
+$NetBSD$
+
+utf8cpp is headers only
+
+--- engine/CMakeLists.txt.orig	2025-11-13 20:07:46.000000000 +0000
++++ engine/CMakeLists.txt
+@@ -93,8 +93,8 @@ add_library(Freesynd::Engine ALIAS fs_en
+ # We need this directory, and users of our library will need it too
+ target_include_directories(fs_engine PUBLIC include)
+ 
+-target_link_libraries(fs_engine PRIVATE freesynd_warnings Freesynd::Utils PNG::PNG CLI11::CLI11 utf8cpp)
+-target_link_libraries(fs_engine INTERFACE CLI11::CLI11 utf8cpp)
++target_link_libraries(fs_engine PRIVATE freesynd_warnings Freesynd::Utils PNG::PNG CLI11::CLI11)
++target_link_libraries(fs_engine INTERFACE CLI11::CLI11)
+ 
+ # The USE_SYSTEM_SDL option enables the creation of the fs_engine_sdl
+ # library. If not on, there will be an error as there is not other implementation
+@@ -127,7 +127,7 @@ if (USE_SYSTEM_SDL)
+     target_include_directories(fs_engine_sdl PRIVATE include)
+ 
+     target_link_libraries(fs_engine_sdl PUBLIC SDL2::Main SDL2::Image Freesynd::Utils)
+-    target_link_libraries(fs_engine_sdl PRIVATE freesynd_warnings utf8cpp)
++    target_link_libraries(fs_engine_sdl PRIVATE freesynd_warnings)
+ 
+     target_link_libraries(fs_engine PRIVATE Freesynd::Engine::Sdl)
+ endif()
diff --git a/freesynd/patches/patch-engine_include_fs-engine_gfx_font.h b/freesynd/patches/patch-engine_include_fs-engine_gfx_font.h
new file mode 100644
index 0000000000..5d83f1f4b4
--- /dev/null
+++ b/freesynd/patches/patch-engine_include_fs-engine_gfx_font.h
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Use utf8cpp from pkgsrc
+
+--- engine/include/fs-engine/gfx/font.h.orig	2026-07-20 06:08:32.492440218 +0000
++++ engine/include/fs-engine/gfx/font.h
+@@ -26,7 +26,7 @@
+ #define FONT_H
+ 
+ #include <map>
+-#include "utf8.h"
++#include <utf8cpp/utf8.h>
+ 
+ #include "fs-utils/common.h"
+ #include "spritemanager.h"
diff --git a/freesynd/patches/patch-engine_include_fs-engine_io_keys.h b/freesynd/patches/patch-engine_include_fs-engine_io_keys.h
new file mode 100644
index 0000000000..a9a80ba213
--- /dev/null
+++ b/freesynd/patches/patch-engine_include_fs-engine_io_keys.h
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Use utf8cpp from pkgsrc
+
+--- engine/include/fs-engine/io/keys.h.orig	2026-07-20 05:30:01.930932540 +0000
++++ engine/include/fs-engine/io/keys.h
+@@ -24,7 +24,7 @@
+ #ifndef KEYS_H
+ #define KEYS_H
+ 
+-#include "utf8.h"
++#include <utf8cpp/utf8.h>
+ 
+ #include "fs-utils/common.h"
+ 
diff --git a/freesynd/patches/patch-engine_src_menus_widget.cpp b/freesynd/patches/patch-engine_src_menus_widget.cpp
new file mode 100644
index 0000000000..385c657e2c
--- /dev/null
+++ b/freesynd/patches/patch-engine_src_menus_widget.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Use utf8cpp from pkgsrc
+
+--- engine/src/menus/widget.cpp.orig	2026-07-20 06:12:13.848975755 +0000
++++ engine/src/menus/widget.cpp
+@@ -23,7 +23,7 @@
+ 
+ #include <stdarg.h>
+ 
+-#include "utf8.h"
++#include <utf8cpp/utf8.h>
+ 
+ #include "fs-utils/log/log.h"
+ #include "fs-engine/menus/menu.h"
diff --git a/freesynd/patches/patch-engine_src_system_sdl_system__sdl.cpp b/freesynd/patches/patch-engine_src_system_sdl_system__sdl.cpp
new file mode 100644
index 0000000000..c760eec441
--- /dev/null
+++ b/freesynd/patches/patch-engine_src_system_sdl_system__sdl.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Use utf8cpp from pkgsrc
+
+--- engine/src/system/sdl/system_sdl.cpp.orig	2026-07-20 06:05:53.098751914 +0000
++++ engine/src/system/sdl/system_sdl.cpp
+@@ -32,7 +32,7 @@
+ #include <SDL_image.h>
+ #include <algorithm>
+ #include <format>
+-#include "utf8.h"
++#include <utf8cpp/utf8.h>
+ 
+ #include "fs-engine/config.h"
+ #include "fs-engine/sound/audio.h"
diff --git a/freesynd/patches/patch-kernel_src_model_missionbriefing.cpp b/freesynd/patches/patch-kernel_src_model_missionbriefing.cpp
new file mode 100644
index 0000000000..086250f598
--- /dev/null
+++ b/freesynd/patches/patch-kernel_src_model_missionbriefing.cpp
@@ -0,0 +1,22 @@
+$NetBSD$
+
+Use utf8cpp from pkgsrc
+
+--- kernel/src/model/missionbriefing.cpp.orig	2026-07-21 03:27:12.600916571 +0000
++++ kernel/src/model/missionbriefing.cpp
+@@ -23,7 +23,7 @@
+ 
+ #include <stdlib.h>
+ #include <string>
+-#include "utf8.h"
++#include <utf8cpp/utf8.h>
+ 
+ #include "fs-engine/gfx/cp437.h"
+ #include "fs-kernel/model/map.h"
+@@ -195,4 +195,4 @@ uint8 MissionBriefing::getMinimapOverlay
+     return minimap_overlay_[x + y * p_minimap_->max_x()];
+ }
+ 
+-}
+\ No newline at end of file
++}
diff --git a/freesynd/patches/patch-utils_CMakeLists.txt b/freesynd/patches/patch-utils_CMakeLists.txt
new file mode 100644
index 0000000000..cb2b49b185
--- /dev/null
+++ b/freesynd/patches/patch-utils_CMakeLists.txt
@@ -0,0 +1,15 @@
+$NetBSD$
+
+CRCpp is headers only
+
+--- utils/CMakeLists.txt.orig	2026-07-20 04:17:18.532509277 +0000
++++ utils/CMakeLists.txt
+@@ -48,8 +48,6 @@ add_library(Freesynd::Utils ALIAS fs_uti
+ 
+ find_package(CRCpp REQUIRED)
+ 
+-target_link_libraries (fs_utils PRIVATE freesynd_warnings crcpp::crcpp)
+-
+ # We need this directory, and users of our library will need it too (ie PUBLIC)
+ target_include_directories(fs_utils PUBLIC include)
+ 


Home | Main Index | Thread Index | Old Index