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