pkgsrc-WIP-changes archive

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

eureka: Import version 2.0.1



Module Name:	pkgsrc-wip
Committed By:	Michael Baeuerle <micha%NetBSD.org@localhost>
Pushed By:	micha
Date:		Mon Jul 8 14:24:08 2024 +0200
Changeset:	46df012f359098e86a7ab5644f50638e1a28f912

Modified Files:
	Makefile
Added Files:
	eureka/COMMIT_MSG
	eureka/DESCR
	eureka/Makefile
	eureka/PLIST
	eureka/README
	eureka/distinfo
	eureka/options.mk
	eureka/patches/patch-CMakeLists.txt
	eureka/patches/patch-src_CMakeLists.txt
	eureka/patches/patch-src_m__files.cc
	eureka/patches/patch-src_m__strings.h
	eureka/patches/patch-src_main.cc

Log Message:
eureka: Import version 2.0.1

(Since version 2.0.0)

* Corrected the copyright year for my contributions.

* Fixed a crash happening when selecting neighbor sectors while no-sided
  linedefs are in the map.
* Fixed a regression from 1.27b where selected 1-sided lines in 3D view
  wouldn't change texture unless the side panel texture thumbnail also
  gets selected.

* Fixed some compilation errors on Linux.

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

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

diffstat:
 Makefile                                |  1 +
 eureka/COMMIT_MSG                       | 98 +++++++++++++++++++++++++++++++++
 eureka/DESCR                            |  5 ++
 eureka/Makefile                         | 51 +++++++++++++++++
 eureka/PLIST                            | 41 ++++++++++++++
 eureka/README                           |  6 ++
 eureka/distinfo                         | 10 ++++
 eureka/options.mk                       | 23 ++++++++
 eureka/patches/patch-CMakeLists.txt     | 23 ++++++++
 eureka/patches/patch-src_CMakeLists.txt | 17 ++++++
 eureka/patches/patch-src_m__files.cc    | 14 +++++
 eureka/patches/patch-src_m__strings.h   | 17 ++++++
 eureka/patches/patch-src_main.cc        | 33 +++++++++++
 13 files changed, 339 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 43edd83e32..38370c0918 100644
--- a/Makefile
+++ b/Makefile
@@ -846,6 +846,7 @@ SUBDIR+=	etoile
 SUBDIR+=	etoile-core
 SUBDIR+=	etoile-services
 SUBDIR+=	etos
+SUBDIR+=	eureka
 SUBDIR+=	eureka-devel
 SUBDIR+=	eventd
 SUBDIR+=	ever-note-mode
diff --git a/eureka/COMMIT_MSG b/eureka/COMMIT_MSG
new file mode 100644
index 0000000000..6f7440e0f8
--- /dev/null
+++ b/eureka/COMMIT_MSG
@@ -0,0 +1,98 @@
+games/eureka: Update to 2.0.1
+
+Removed some pkgsrc patches (merged upstream).
+Switch to CMake build system.
+
+# CHANGES IN Eureka 2.0.1
+
+(Since version 2.0.0)
+
+## View
+
+* Corrected the copyright year for my contributions.
+
+## Bug fixes
+
+* Fixed a crash happening when selecting neighbor sectors while no-sided
+  linedefs are in the map.
+* Fixed a regression from 1.27b where selected 1-sided lines in 3D view
+  wouldn't change texture unless the side panel texture thumbnail also
+  gets selected.
+
+## Development
+
+* Fixed some compilation errors on Linux.
+
+
+# CHANGES IN Eureka 2.0.0
+
+(Since version 1.27b)
+
+## Resource and project setup
+
+* Wads are now loaded fully in memory. **Note**: currently it still
+  doesn't autodetect file changes, so take care not to open the level
+  in other editors at the same time.
+* Resources can be loaded as folders, having the standard PK3/PKE
+  layout.
+* Added Dehacked resource support, by contribution of Isaac Colón
+  ([https://github.com/iccolon818](https://github.com/iccolon818)).
+* Fixed the EUREKA lump to store relative paths so that the user
+  settings are portable between computers.
+* Removed the Hexen format support from Eternity. This format is only
+  meant for vanilla Hexen wads and should not be used for new Eternity
+  maps.
+* Do not throw a fatal error when loading invalid project resource
+  files.
+
+## Editing and interface
+
+* Dragging lines or sectors can also split other lines. Currently still
+  no support for the dragged lines getting split by existing vertices.
+* Fixed a bug where dragging a vertex into a neighbouring linedef to
+  split it resulted in two overlapping lines.
+* Testing map now opens the game without blocking Eureka, just like user
+  would start another app.
+  Also, for macOS you can now use app bundles.
+* Added tutti-frutti texture check
+* Now the tagged items (regardless of type) get highlighted properly,
+  depending on the triggering special.
+* The tags check is now aware of the linedef special so it doesn't look
+  for tagged sector if the special doesn't deal with sectors.
+* Now the Jump to Objects dialog allows you to choose multiple items.
+* Fixed so clicking a button while editing a panel field won't reset the
+  field.
+* Fixed wrong labelling of sidedef texture boxes.
+* Now the menu commands show their actual shortcuts as set in user
+  preferences.
+
+## View
+
+* Sprites are displayed with rotations both in 2D and 3D views.
+* Spectral sprite view also shows up as such in the editor views, not
+  just the sprite browser.
+* Fixed Heretic torches looking wrong in the 3D mode
+* Fixed the Strife klaxon things to hang from ceiling.
+* Fixed the Strife Sigil sprite not displaying correctly.
+* Fixed Heretic multiplayer sprite color translation
+* Fixed missing 'm' texture category from heretic.ugh. Added it and
+  named it "magic".
+* Fixed failure to locate a patch if an equally named flat exists.
+
+## Bug fixes
+
+* Fixed an access violation happening when starting a new ZDoom project.
+* Fixed a crash happening when starting a new project while a linedef is
+  selected.
+* Fixed a crash happening when using R to change sidedef offset in 3D
+  mode on a selected (but not highlighted) linedef.
+* Fixed a fatal error happening when deleting the last vertex.
+* Fixed the initial grid being set one step higher than intended in
+  preferences.
+* Fixed an illegal operation being run when rendering 3D mode.
+
+## Development
+
+* Project uses CMake
+* Deleted Makefile.xming.
+* Fixed failure to compile on SmartOS.
diff --git a/eureka/DESCR b/eureka/DESCR
new file mode 100644
index 0000000000..5dbf1dea4e
--- /dev/null
+++ b/eureka/DESCR
@@ -0,0 +1,5 @@
+Eureka is a map editor for the classic DOOM games, and a few related games
+such as Heretic and Hexen. It supports Windows and Unix (including macOS).
+
+There is a 2D mode to create the layout and a 3D mode to check e.g. texture
+alignment.
diff --git a/eureka/Makefile b/eureka/Makefile
new file mode 100644
index 0000000000..fd7d9aca32
--- /dev/null
+++ b/eureka/Makefile
@@ -0,0 +1,51 @@
+# $NetBSD$
+
+DISTNAME=	eureka-2.0.1
+CATEGORIES=	games
+MASTER_SITES=	${MASTER_SITE_GITHUB:=ioan-chera/}
+GITHUB_PROJECT=	eureka-editor
+GITHUB_TAG=	${DISTNAME}
+
+MAINTAINER=	micha%NetBSD.org@localhost
+HOMEPAGE=	https://eureka-editor.sourceforge.net/
+COMMENT=	Doom/Heretic/Hexen map editor
+LICENSE=	gnu-gpl-v2
+
+USE_LANGUAGES=		c c++
+USE_CC_FEATURES+=	c11
+USE_CXX_FEATURES+=	c++17
+
+CMAKE_ARGS+=		-DENABLE_UNIT_TESTS=off
+
+# DOOMWADDIR is intentionally shared with other Doom packages
+DOOMWADDIR=		share/doom
+INSTALLATION_DIRS=	bin
+
+# Modify internal search path to check ${PREFIX}/share hierarchy first
+SUBST_CLASSES+=		prefix
+SUBST_STAGE.prefix=	do-configure
+SUBST_MESSAGE.prefix=	Preparing main.cc ...
+SUBST_FILES.prefix=	src/main.cc
+SUBST_SED.prefix=	-e 's,PKGSRC_PREFIX,${PREFIX},'
+
+# Modify internal search path for DOOMWADDIR (if environment variable not set)
+SUBST_CLASSES+=		dwd
+SUBST_STAGE.dwd=	do-configure
+SUBST_MESSAGE.dwd=	Preparing m_files.cc ...
+SUBST_FILES.dwd=	src/m_files.cc
+SUBST_SED.dwd=		-e 's,PKGSRC_DOOMWADDIR,${PREFIX}/${DOOMWADDIR},'
+
+.include "options.mk"
+
+BUILDLINK_API_DEPENDS.zlib+=	zlib>=1.2.3
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../x11/libICE/buildlink3.mk"
+.include "../../x11/libSM/buildlink3.mk"
+.include "../../x11/libXext/buildlink3.mk"
+.include "../../x11/libXpm/buildlink3.mk"
+
+.include "../../devel/cmake/build.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/eureka/PLIST b/eureka/PLIST
new file mode 100644
index 0000000000..d60c21b542
--- /dev/null
+++ b/eureka/PLIST
@@ -0,0 +1,41 @@
+@comment $NetBSD$
+bin/eureka
+share/applications/eureka.desktop
+share/eureka/about_logo.png
+share/eureka/bindings.cfg
+share/eureka/common/doom_colors.ugh
+share/eureka/common/doom_groups.ugh
+share/eureka/common/doom_lines.ugh
+share/eureka/common/doom_sectors.ugh
+share/eureka/common/doom_tex.ugh
+share/eureka/common/doom_things.ugh
+share/eureka/common/gen_types.ugh
+share/eureka/common/hexen_groups.ugh
+share/eureka/common/hexen_lines.ugh
+share/eureka/common/hexen_sectors.ugh
+share/eureka/common/plutonia_tex.ugh
+share/eureka/common/tnt_tex.ugh
+share/eureka/defaults.cfg
+share/eureka/games/doom.ugh
+share/eureka/games/doom2.ugh
+share/eureka/games/freedm.ugh
+share/eureka/games/freedoom1.ugh
+share/eureka/games/freedoom2.ugh
+share/eureka/games/hacx.ugh
+share/eureka/games/harm1.ugh
+share/eureka/games/heretic.ugh
+share/eureka/games/hexen.ugh
+share/eureka/games/plutonia.ugh
+share/eureka/games/strife1.ugh
+share/eureka/games/tnt.ugh
+share/eureka/operations.cfg
+share/eureka/ports/boom.ugh
+share/eureka/ports/edge.ugh
+share/eureka/ports/eternity.ugh
+share/eureka/ports/legacy.ugh
+share/eureka/ports/mbf.ugh
+share/eureka/ports/odamex.ugh
+share/eureka/ports/vanilla.ugh
+share/eureka/ports/xdoom.ugh
+share/eureka/ports/zdoom.ugh
+share/icons/hicolor/32x32/apps/eureka.xpm
diff --git a/eureka/README b/eureka/README
new file mode 100644
index 0000000000..be59484e90
--- /dev/null
+++ b/eureka/README
@@ -0,0 +1,6 @@
+Last release of the Eureka 1.x branch.
+
+The Eureka 2.x branch has significantly higher system requirements.
+
+This package in wip is intended for users of older machines.
+Tested to work with FLTK 1.3.9.
diff --git a/eureka/distinfo b/eureka/distinfo
new file mode 100644
index 0000000000..0cd42e937f
--- /dev/null
+++ b/eureka/distinfo
@@ -0,0 +1,10 @@
+$NetBSD$
+
+BLAKE2s (eureka-2.0.1.tar.gz) = 7c566115453056d3efe853d88269d95dbdeac57248ee48b111d02b3ae9bd309c
+SHA512 (eureka-2.0.1.tar.gz) = 18f6ffd9e28a9679265670f1677564eb5319c2011a038cc9516f1768456028e58e50c4d5c70b15f0d0f25fdafed8762efde4b589a095418ae1ca3103f869d486
+Size (eureka-2.0.1.tar.gz) = 2387560 bytes
+SHA1 (patch-CMakeLists.txt) = 0eda67e8a101d9299bc933f2f403b4e8b940a689
+SHA1 (patch-src_CMakeLists.txt) = 7291065f665f00e6d9eda2cbdf56769360b40691
+SHA1 (patch-src_m__files.cc) = a547b17d578ada79e20d006f786b1a594ef34700
+SHA1 (patch-src_m__strings.h) = e8b793e0a8943f3371792e07ac552e8e22e2c248
+SHA1 (patch-src_main.cc) = fe5d1f35637010de7e56e7384a29045f64e9667a
diff --git a/eureka/options.mk b/eureka/options.mk
new file mode 100644
index 0000000000..c80c6d1295
--- /dev/null
+++ b/eureka/options.mk
@@ -0,0 +1,23 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.eureka
+PKG_SUPPORTED_OPTIONS=	opengl xdg-utils
+PKG_SUGGESTED_OPTIONS=	opengl xdg-utils
+
+.include "../../mk/bsd.options.mk"
+
+.include "../../x11/fltk13/buildlink3.mk"
+
+# opengl: Use OpenGL for rendering
+# If FLTK is compiled without opengl option, it is always disabled here too.
+# If FLTK is compiled with opengl option, disabling it here allows to force
+# usage of the software renderer (recommended without hardware acceleration).
+.if empty(PKG_OPTIONS.fltk13:Mopengl) || empty(PKG_OPTIONS:Mopengl)
+CMAKE_ARGS+=	-DENABLE_OPENGL=off
+.endif
+
+# xdg-utils: Create dependency for xdg-utils (Portland project)
+# Can be used by FLTK for fl_open_uri() on X11.
+.if !empty(PKG_OPTIONS:Mxdg-utils)
+DEPENDS+=	xdg-utils>=1.1:../../misc/xdg-utils
+.endif
diff --git a/eureka/patches/patch-CMakeLists.txt b/eureka/patches/patch-CMakeLists.txt
new file mode 100644
index 0000000000..6cab09ff49
--- /dev/null
+++ b/eureka/patches/patch-CMakeLists.txt
@@ -0,0 +1,23 @@
+$NetBSD$
+
+Let pkgsrc handle icon and desktop files.
+
+--- CMakeLists.txt.orig	2024-07-07 19:06:38.000000000 +0000
++++ CMakeLists.txt
+@@ -170,10 +170,12 @@ if(UNIX AND NOT APPLE)  # Linux
+             DESTINATION "${eureka_install_dir}"
+     )
+     # The full-install sequence is here
+-    install(CODE "execute_process(
+-        COMMAND xdg-desktop-menu install --novendor ${CMAKE_CURRENT_SOURCE_DIR}/misc/eureka.desktop
+-        COMMAND xdg-icon-resource install --novendor --size 32 ${CMAKE_CURRENT_SOURCE_DIR}/misc/eureka.xpm
+-    )")
++    #install(CODE "execute_process(
++    #    COMMAND xdg-desktop-menu install --novendor ${CMAKE_CURRENT_SOURCE_DIR}/misc/eureka.desktop
++    #    COMMAND xdg-icon-resource install --novendor --size 32 ${CMAKE_CURRENT_SOURCE_DIR}/misc/eureka.xpm
++    #)")
++    install(FILES misc/eureka.xpm DESTINATION share/icons/hicolor/32x32/apps)
++    install(FILES misc/eureka.desktop DESTINATION share/applications)
+ 
+     # uninstall target
+     if(NOT TARGET uninstall)
diff --git a/eureka/patches/patch-src_CMakeLists.txt b/eureka/patches/patch-src_CMakeLists.txt
new file mode 100644
index 0000000000..2d113a3479
--- /dev/null
+++ b/eureka/patches/patch-src_CMakeLists.txt
@@ -0,0 +1,17 @@
+$NetBSD$
+
+Remove" -Werror".
+Add "-Wno-cast-function-type".
+Remove duplicated flags (GCC fails because they are inserted with quotes).
+
+--- src/CMakeLists.txt.orig	2024-07-04 06:00:57.000000000 +0000
++++ src/CMakeLists.txt
+@@ -359,7 +359,7 @@ if(MSVC)
+ endif()
+ 
+ if ( CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
+-    target_compile_options(eurekasrc PUBLIC "${CMAKE_CXX_FLAGS}" -Wall -Wextra -Werror
++    target_compile_options(eurekasrc PUBLIC -Wall -Wextra -Wno-cast-function-type
+                            -Wno-unused-parameter -Wno-missing-field-initializers -Wunused-variable)
+ endif()
+ if ( MSVC )
diff --git a/eureka/patches/patch-src_m__files.cc b/eureka/patches/patch-src_m__files.cc
new file mode 100644
index 0000000000..c3b41c1e6c
--- /dev/null
+++ b/eureka/patches/patch-src_m__files.cc
@@ -0,0 +1,14 @@
+$NetBSD$
+
+Add placeholder for pkgsrc DOOMWADDIR to beginning of search list.
+
+--- src/m_files.cc.orig	2018-06-23 11:29:07.000000000 +0000
++++ src/m_files.cc
+@@ -506,6 +506,7 @@ static const char * SearchForIWAD(const 
+ 		"c:/doom2",
+ 		"c:/doom95",
+ #else
++		"PKGSRC_DOOMWADDIR",
+ 		"/usr/share/games/doom",
+ 		"/usr/share/doom",
+ 		"/usr/local/share/games/doom",
diff --git a/eureka/patches/patch-src_m__strings.h b/eureka/patches/patch-src_m__strings.h
new file mode 100644
index 0000000000..3cd10f63d5
--- /dev/null
+++ b/eureka/patches/patch-src_m__strings.h
@@ -0,0 +1,17 @@
+$NetBSD$
+
+Fix headers.
+
+--- src/m_strings.h.orig	2024-07-04 06:00:57.000000000 +0000
++++ src/m_strings.h
+@@ -23,7 +23,9 @@
+ 
+ #include "PrintfMacros.h"
+ 
+-#include <string.h>
++#include <cstdarg>
++#include <cstdio>
++#include <cstring>
+ 
+ #include <ostream>
+ #include <string>
diff --git a/eureka/patches/patch-src_main.cc b/eureka/patches/patch-src_main.cc
new file mode 100644
index 0000000000..480281117b
--- /dev/null
+++ b/eureka/patches/patch-src_main.cc
@@ -0,0 +1,33 @@
+$NetBSD$
+
+Include missing header.
+Add placeholder for pkgsrc PREFIX to beginning of search list.
+Remove date to make builds reproducible (based on Debian patch).
+
+--- src/main.cc.orig	2024-07-04 06:00:57.000000000 +0000
++++ src/main.cc
+@@ -30,6 +30,7 @@
+ 
+ #include <time.h>
+ #include <memory>
++#include <signal.h>
+ #include <stdexcept>
+ 
+ #include "im_color.h"
+@@ -324,6 +325,7 @@ static void Determine_InstallPath(const 
+ #else
+ 		static const fs::path prefixes[] =
+ 		{
++			"PKGSRC_PREFIX",
+ 			"/usr/local",
+ 			"/usr",
+ 			"/opt",
+@@ -1058,7 +1060,7 @@ static void ShowHelp()
+ 
+ static void ShowVersion()
+ {
+-	printf("Eureka version " EUREKA_VERSION " (" __DATE__ ")\n");
++	printf("Eureka version " EUREKA_VERSION " (Reproducible build)\n");
+ 
+ 	fflush(stdout);
+ }


Home | Main Index | Thread Index | Old Index