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