pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
eureka1: Add last version of 1.x branch
Module Name: pkgsrc-wip
Committed By: Michael Baeuerle <micha%NetBSD.org@localhost>
Pushed By: micha
Date: Mon Jul 8 16:14:01 2024 +0200
Changeset: a86b05f88e8a6947bf7e3072c6a04d3a0616f5ff
Modified Files:
Makefile
Added Files:
eureka1/DESCR
eureka1/Makefile
eureka1/PLIST
eureka1/README
eureka1/distinfo
eureka1/options.mk
eureka1/patches/patch-src_e__basis.cc
eureka1/patches/patch-src_e__objects.cc
eureka1/patches/patch-src_m__files.cc
eureka1/patches/patch-src_main.cc
eureka1/patches/patch-src_ui__replace.cc
Log Message:
eureka1: Add last version of 1.x branch
The 2.x branch has much higher system requirements (C++17 vs. C++03).
This package is for users of older systems.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a86b05f88e8a6947bf7e3072c6a04d3a0616f5ff
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
eureka1/DESCR | 7 ++++
eureka1/Makefile | 46 +++++++++++++++++++++
eureka1/PLIST | 39 ++++++++++++++++++
eureka1/README | 5 +++
eureka1/distinfo | 10 +++++
eureka1/options.mk | 29 ++++++++++++++
eureka1/patches/patch-src_e__basis.cc | 32 +++++++++++++++
eureka1/patches/patch-src_e__objects.cc | 33 ++++++++++++++++
eureka1/patches/patch-src_m__files.cc | 14 +++++++
eureka1/patches/patch-src_main.cc | 24 +++++++++++
eureka1/patches/patch-src_ui__replace.cc | 68 ++++++++++++++++++++++++++++++++
12 files changed, 308 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index 43edd83e32..069aecf6b8 100644
--- a/Makefile
+++ b/Makefile
@@ -847,6 +847,7 @@ SUBDIR+= etoile-core
SUBDIR+= etoile-services
SUBDIR+= etos
SUBDIR+= eureka-devel
+SUBDIR+= eureka1
SUBDIR+= eventd
SUBDIR+= ever-note-mode
SUBDIR+= evilvte
diff --git a/eureka1/DESCR b/eureka1/DESCR
new file mode 100644
index 0000000000..eb0a55aff5
--- /dev/null
+++ b/eureka1/DESCR
@@ -0,0 +1,7 @@
+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.
+
+This package contains the last release of the Eureka 1.x branch.
diff --git a/eureka1/Makefile b/eureka1/Makefile
new file mode 100644
index 0000000000..2bcab04314
--- /dev/null
+++ b/eureka1/Makefile
@@ -0,0 +1,46 @@
+# $NetBSD$
+
+DISTNAME= eureka-1.27b-source
+# Some macOS patches were added after the release of 1.27 but unfortunately
+# the archive name was not changed (pkgsrc used 1.27.1 for this version).
+# The second patch release is called 1.27b, we use version 1.27.2 for it.
+# Switch back to upstream naming scheme for next major/minor release.
+PKGNAME= ${DISTNAME:S/-source//:S/b/.2/}
+PKGREVISION= 3
+CATEGORIES= games
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=eureka-editor/}
+
+MAINTAINER= micha%NetBSD.org@localhost
+HOMEPAGE= https://sourceforge.net/projects/eureka-editor/
+COMMENT= Doom/Heretic/Hexen map editor
+LICENSE= gnu-gpl-v2
+
+USE_LANGUAGES= c c++
+USE_CC_FEATURES+= c99
+
+USE_TOOLS+= gmake
+
+# 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 "../../mk/bsd.pkg.mk"
diff --git a/eureka1/PLIST b/eureka1/PLIST
new file mode 100644
index 0000000000..dc3d955eb0
--- /dev/null
+++ b/eureka1/PLIST
@@ -0,0 +1,39 @@
+@comment $NetBSD$
+bin/eureka
+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
diff --git a/eureka1/README b/eureka1/README
new file mode 100644
index 0000000000..5b607baafb
--- /dev/null
+++ b/eureka1/README
@@ -0,0 +1,5 @@
+The Eureka 1.x branch was written in C99 and C++03 (in line with FLTK 1.3).
+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 and without OpenGL.
diff --git a/eureka1/distinfo b/eureka1/distinfo
new file mode 100644
index 0000000000..6ba34b1415
--- /dev/null
+++ b/eureka1/distinfo
@@ -0,0 +1,10 @@
+$NetBSD$
+
+BLAKE2s (eureka-1.27b-source.tar.gz) = aa7e6051f4a930a3d6c9c8a3ff6458662aa30fe61d999bd92aa104465b417b2e
+SHA512 (eureka-1.27b-source.tar.gz) = 4b2ce44a99acbe1b9dd2cf31ee5c3307f5f667422ba18bee8c3f9858e9244ee05c48e96b5afa4cdf65dfd079bca19a5693b6d123b5563549d1f84ca03137eb5e
+Size (eureka-1.27b-source.tar.gz) = 1159366 bytes
+SHA1 (patch-src_e__basis.cc) = db2225e62182102acea9714e8b2c6ccd68aab2c4
+SHA1 (patch-src_e__objects.cc) = 8cab9d7b5b347e955101b1e234e87cf690afe900
+SHA1 (patch-src_m__files.cc) = 5bdfaefa324408632a8e649c8994479e7ec00ae1
+SHA1 (patch-src_main.cc) = 067886dba691ecf68befd563819255de08aed792
+SHA1 (patch-src_ui__replace.cc) = db02d88f367a60b81b8388b5656c081fb69d2f10
diff --git a/eureka1/options.mk b/eureka1/options.mk
new file mode 100644
index 0000000000..2ee29e5b62
--- /dev/null
+++ b/eureka1/options.mk
@@ -0,0 +1,29 @@
+# $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)
+SUBST_CLASSES+= opengl
+SUBST_STAGE.opengl= do-configure
+SUBST_MESSAGE.opengl= Disable OpenGL renderer in Makefile ...
+SUBST_FILES.opengl= Makefile
+SUBST_SED.opengl= -e 's,\# CXXFLAGS += -DNO_OPENGL,CXXFLAGS += -DNO_OPENGL,'
+SUBST_SED.opengl+= -e 's, --use-gl,,'
+SUBST_SED.opengl+= -e 's,LIBS += -lGLU -lGL,\#LIBS += -lGLU -lGL,'
+.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/eureka1/patches/patch-src_e__basis.cc b/eureka1/patches/patch-src_e__basis.cc
new file mode 100644
index 0000000000..9aac9faaee
--- /dev/null
+++ b/eureka1/patches/patch-src_e__basis.cc
@@ -0,0 +1,32 @@
+$NetBSD$
+
+Avoid sys/time.h SEC pollution.
+https://sourceforge.net/p/eureka-editor/tickets/44/
+
+--- src/e_basis.cc.orig 2020-02-14 01:04:52.000000000 +0000
++++ src/e_basis.cc
+@@ -1197,16 +1197,16 @@ static void ChecksumVertex(crc32_c& crc,
+ crc += V->raw_y;
+ }
+
+-static void ChecksumSector(crc32_c& crc, const Sector * SEC)
++static void ChecksumSector(crc32_c& crc, const Sector * sect)
+ {
+- crc += SEC->floorh;
+- crc += SEC->ceilh;
+- crc += SEC->light;
+- crc += SEC->type;
+- crc += SEC->tag;
++ crc += sect->floorh;
++ crc += sect->ceilh;
++ crc += sect->light;
++ crc += sect->type;
++ crc += sect->tag;
+
+- crc += SEC->FloorTex();
+- crc += SEC->CeilTex();
++ crc += sect->FloorTex();
++ crc += sect->CeilTex();
+ }
+
+ static void ChecksumSideDef(crc32_c& crc, const SideDef * S)
diff --git a/eureka1/patches/patch-src_e__objects.cc b/eureka1/patches/patch-src_e__objects.cc
new file mode 100644
index 0000000000..cc3b908266
--- /dev/null
+++ b/eureka1/patches/patch-src_e__objects.cc
@@ -0,0 +1,33 @@
+$NetBSD$
+
+Avoid sys/time.h SEC pollution.
+https://sourceforge.net/p/eureka-editor/tickets/44/
+
+--- src/e_objects.cc.orig 2020-02-02 13:45:57.000000000 +0000
++++ src/e_objects.cc
+@@ -901,16 +901,16 @@ static void TransferThingProperties(int
+
+ static void TransferSectorProperties(int src_sec, int dest_sec)
+ {
+- const Sector * SEC = Sectors[src_sec];
++ const Sector * sect = Sectors[src_sec];
+
+- BA_ChangeSEC(dest_sec, Sector::F_FLOORH, SEC->floorh);
+- BA_ChangeSEC(dest_sec, Sector::F_FLOOR_TEX, SEC->floor_tex);
+- BA_ChangeSEC(dest_sec, Sector::F_CEILH, SEC->ceilh);
+- BA_ChangeSEC(dest_sec, Sector::F_CEIL_TEX, SEC->ceil_tex);
+-
+- BA_ChangeSEC(dest_sec, Sector::F_LIGHT, SEC->light);
+- BA_ChangeSEC(dest_sec, Sector::F_TYPE, SEC->type);
+- BA_ChangeSEC(dest_sec, Sector::F_TAG, SEC->tag);
++ BA_ChangeSEC(dest_sec, Sector::F_FLOORH, sect->floorh);
++ BA_ChangeSEC(dest_sec, Sector::F_FLOOR_TEX, sect->floor_tex);
++ BA_ChangeSEC(dest_sec, Sector::F_CEILH, sect->ceilh);
++ BA_ChangeSEC(dest_sec, Sector::F_CEIL_TEX, sect->ceil_tex);
++
++ BA_ChangeSEC(dest_sec, Sector::F_LIGHT, sect->light);
++ BA_ChangeSEC(dest_sec, Sector::F_TYPE, sect->type);
++ BA_ChangeSEC(dest_sec, Sector::F_TAG, sect->tag);
+ }
+
+
diff --git a/eureka1/patches/patch-src_m__files.cc b/eureka1/patches/patch-src_m__files.cc
new file mode 100644
index 0000000000..e9669a6c63
--- /dev/null
+++ b/eureka1/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
+@@ -723,6 +723,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/eureka1/patches/patch-src_main.cc b/eureka1/patches/patch-src_main.cc
new file mode 100644
index 0000000000..791c34b520
--- /dev/null
+++ b/eureka1/patches/patch-src_main.cc
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Add placeholder for pkgsrc PREFIX to beginning of search list.
+Remove date to make builds reproducible (based on Debian patch).
+
+--- src/main.cc.orig 2020-02-01 07:51:21.000000000 +0000
++++ src/main.cc
+@@ -317,6 +317,7 @@ static void Determine_InstallPath(const
+ #else
+ static const char *prefixes[] =
+ {
++ "PKGSRC_PREFIX",
+ "/usr/local",
+ "/usr",
+ "/opt",
+@@ -968,7 +969,7 @@ static void ShowHelp()
+
+ static void ShowVersion()
+ {
+- printf("Eureka version " EUREKA_VERSION " (" __DATE__ ")\n");
++ printf("Eureka version " EUREKA_VERSION " (Reproducible build)\n");
+
+ fflush(stdout);
+ }
diff --git a/eureka1/patches/patch-src_ui__replace.cc b/eureka1/patches/patch-src_ui__replace.cc
new file mode 100644
index 0000000000..402d5ec03f
--- /dev/null
+++ b/eureka1/patches/patch-src_ui__replace.cc
@@ -0,0 +1,68 @@
+$NetBSD$
+
+Avoid sys/time.h SEC pollution.
+https://sourceforge.net/p/eureka-editor/tickets/44/
+
+--- src/ui_replace.cc.orig 2020-02-02 13:48:48.000000000 +0000
++++ src/ui_replace.cc
+@@ -1514,18 +1514,18 @@ bool UI_FindAndReplace::Match_LineDef(in
+
+ bool UI_FindAndReplace::Match_Sector(int idx)
+ {
+- const Sector *SEC = Sectors[idx];
++ const Sector *sect = Sectors[idx];
+
+- if (! Filter_Tag(SEC->tag))
++ if (! Filter_Tag(sect->tag))
+ return false;
+
+ const char *pattern = find_match->value();
+
+ if (!filter_toggle->value() || o_floors->value())
+- if (Pattern_Match(SEC->FloorTex(), pattern))
++ if (Pattern_Match(sect->FloorTex(), pattern))
+ return true;
+
+- const char *ceil_tex = SEC->CeilTex();
++ const char *ceil_tex = sect->CeilTex();
+
+ if (!filter_toggle->value() || (!is_sky(ceil_tex) && o_ceilings->value())
+ || ( is_sky(ceil_tex) && o_skies->value()) )
+@@ -1552,15 +1552,15 @@ bool UI_FindAndReplace::Match_LineType(i
+
+ bool UI_FindAndReplace::Match_SectorType(int idx)
+ {
+- const Sector *SEC = Sectors[idx];
++ const Sector *sect = Sectors[idx];
+
+ int mask = (Features.gen_sectors == 2) ? 255 :
+ (Features.gen_sectors) ? 31 : 65535;
+
+- if (! find_numbers->get(SEC->type & mask))
++ if (! find_numbers->get(sect->type & mask))
+ return false;
+
+- if (! Filter_Tag(SEC->tag))
++ if (! Filter_Tag(sect->tag))
+ return false;
+
+ return true;
+@@ -1746,15 +1746,15 @@ void UI_FindAndReplace::Replace_LineDef(
+
+ void UI_FindAndReplace::Replace_Sector(int idx, int new_tex)
+ {
+- const Sector *SEC = Sectors[idx];
++ const Sector *sect = Sectors[idx];
+
+ const char *pattern = find_match->value();
+
+ if (!filter_toggle->value() || o_floors->value())
+- if (Pattern_Match(SEC->FloorTex(), pattern))
++ if (Pattern_Match(sect->FloorTex(), pattern))
+ BA_ChangeSEC(idx, Sector::F_FLOOR_TEX, new_tex);
+
+- const char *ceil_tex = SEC->CeilTex();
++ const char *ceil_tex = sect->CeilTex();
+
+ if (!filter_toggle->value() || (!is_sky(ceil_tex) && o_ceilings->value())
+ || ( is_sky(ceil_tex) && o_skies->value()) )
Home |
Main Index |
Thread Index |
Old Index