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