git: f97f297ce712 - main - games/lbreakouthd: add port: Breakout-style arcade game

From: Dmitry Marakasov <amdmi3_at_FreeBSD.org>
Date: Mon, 23 Jan 2023 15:32:56 UTC
The branch main has been updated by amdmi3:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f97f297ce7126289c17d2ecfb06bddfa1e82f4c0

commit f97f297ce7126289c17d2ecfb06bddfa1e82f4c0
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2023-01-23 15:23:08 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2023-01-23 15:32:36 +0000

    games/lbreakouthd: add port: Breakout-style arcade game
    
    - Also deprecate (without setting EXPIRATION_DATE, as the ports
      still build and work fine) games/lbreakout and games/lbreakout2 -
      the former has latest release in 2001 and is not even mentioned on
      the upstream website any more, and the latter explicitly mentions
      deprecation. LBreakoutHD is claimed to support all levelsets and
      themes for LBreakout2, being a drop-in replacement for it.
    - While here, some cosmetic fixes to games/lbreakout and games/lbreakout2.
    
    LBreakoutHD is a scaleable 16:9 remake of LBreakout2. You try to
    clear levels full of different types of bricks and extras by using
    your paddle to aim balls at the bricks.
    
    All LBreakout2 themes and levelsets work. New themes can be of any
    resolution.
---
 games/Makefile                                |  1 +
 games/lbreakout/Makefile                      |  6 +++--
 games/lbreakout2/Makefile                     |  4 +++-
 games/lbreakouthd/Makefile                    | 34 +++++++++++++++++++++++++++
 games/lbreakouthd/distinfo                    |  3 +++
 games/lbreakouthd/files/patch-Makefile.am     | 20 ++++++++++++++++
 games/lbreakouthd/files/patch-src_Makefile.am | 12 ++++++++++
 games/lbreakouthd/pkg-descr                   |  6 +++++
 games/lbreakouthd/pkg-plist                   |  8 +++++++
 9 files changed, 91 insertions(+), 3 deletions(-)

diff --git a/games/Makefile b/games/Makefile
index 51264a5512f6..3daced2914ac 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -478,6 +478,7 @@
     SUBDIR += lapispuzzle
     SUBDIR += lbreakout
     SUBDIR += lbreakout2
+    SUBDIR += lbreakouthd
     SUBDIR += ldmud
     SUBDIR += leela-zero
     SUBDIR += legend-of-edgar
diff --git a/games/lbreakout/Makefile b/games/lbreakout/Makefile
index c19543b3fc23..977e2cf7a898 100644
--- a/games/lbreakout/Makefile
+++ b/games/lbreakout/Makefile
@@ -6,13 +6,15 @@ MASTER_SITES=	SF/lgames/${PORTNAME}
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Nice clone of classical Breakout game
-WWW=		http://lgames.sourceforge.net/index.php?project=LBreakout
+WWW=		https://sourceforge.net/projects/lgames/files/lbreakout/
 
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-USE_SDL=	sdl
+DEPRECATED=	Abandoned by upsteam, does not support large screen resolutions. Use games/lbreakouthd instead
+
 USES=		gmake sdl
+USE_SDL=	sdl
 GNU_CONFIGURE=	yes
 LIBS+=		-lcompat
 
diff --git a/games/lbreakout2/Makefile b/games/lbreakout2/Makefile
index 4c671317e1c9..d772df2f8b01 100644
--- a/games/lbreakout2/Makefile
+++ b/games/lbreakout2/Makefile
@@ -10,11 +10,13 @@ EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Breakout-style arcade game
-WWW=		http://lgames.sourceforge.net/index.php?project=LBreakout2
+WWW=		https://lgames.sourceforge.io/LBreakout2/
 
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
+DEPRECATED=	Deprecated by upsteam, does not support large screen resolutions. Use games/lbreakouthd instead
+
 LIB_DEPENDS=	libpng.so:graphics/png
 
 USES=		gmake sdl
diff --git a/games/lbreakouthd/Makefile b/games/lbreakouthd/Makefile
new file mode 100644
index 000000000000..211a7338f5ef
--- /dev/null
+++ b/games/lbreakouthd/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	lbreakouthd
+PORTVERSION=	1.1.1
+CATEGORIES=	games
+MASTER_SITES=	SF/lgames/${PORTNAME}/
+
+MAINTAINER=	amdmi3@FreeBSD.org
+COMMENT=	Breakout-style arcade game
+WWW=		https://lgames.sourceforge.io/LBreakout2/
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		autoreconf localbase sdl
+USE_SDL=	sdl2 mixer2 image2 ttf2
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--localstatedir=/var/games/${PORTNAME}
+
+PORTDOCS=	ChangeLog README
+PORTDATA=	*
+
+OPTIONS_DEFINE=	DOCS NLS
+OPTIONS_SUB=	yes
+
+NLS_USES=	gettext
+NLS_CONFIGURE_ENABLE=	nls
+
+post-install:
+	@${MV} ${STAGEDIR}/var/games/${PORTNAME}/${PORTNAME}.hscr ${STAGEDIR}/var/games/${PORTNAME}/${PORTNAME}.hscr.sample
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/
+
+.include <bsd.port.mk>
diff --git a/games/lbreakouthd/distinfo b/games/lbreakouthd/distinfo
new file mode 100644
index 000000000000..0f7840f8897d
--- /dev/null
+++ b/games/lbreakouthd/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1674481048
+SHA256 (lbreakouthd-1.1.1.tar.gz) = 9639d9a6e57d1cf3d1e5b81d6f213c814b5be26f89a69c469b7315ebdd6cc3b1
+SIZE (lbreakouthd-1.1.1.tar.gz) = 4372165
diff --git a/games/lbreakouthd/files/patch-Makefile.am b/games/lbreakouthd/files/patch-Makefile.am
new file mode 100644
index 000000000000..fe774ea5b154
--- /dev/null
+++ b/games/lbreakouthd/files/patch-Makefile.am
@@ -0,0 +1,20 @@
+https://sourceforge.net/p/lgames/bugs/95/
+--- Makefile.am.orig	2021-04-03 20:47:05 UTC
++++ Makefile.am
+@@ -6,14 +6,14 @@ EXTRA_DIST = gettext.h config.rpath m4/ChangeLog \
+ 
+ desktopdir = $(datadir)/applications
+ desktop_DATA = lbreakouthd.desktop
+-icondir = $(datadir)/icons
++icondir = $(datadir)/pixmaps
+ icon_DATA = lbreakouthd256.gif
+ 
+ # We can't use static desktop file because of icon location. Is this 
+ # the right way to handle it? At least it works... as long as $datadir
+ # does not contain plus signs. :-)
+ lbreakouthd.desktop:
+-	@sed -e "s+Icon=+Icon=$(datadir)/icons/lbreakouthd256.gif+" \
++	@sed -e "s+Icon=+Icon=$(icondir)/lbreakouthd256.gif+" \
+ 	< lbreakouthd.desktop.in > lbreakouthd.desktop
+ 
+ ACLOCAL_AMFLAGS = -I m4
diff --git a/games/lbreakouthd/files/patch-src_Makefile.am b/games/lbreakouthd/files/patch-src_Makefile.am
new file mode 100644
index 000000000000..6f90237e87a8
--- /dev/null
+++ b/games/lbreakouthd/files/patch-src_Makefile.am
@@ -0,0 +1,12 @@
+https://sourceforge.net/p/lgames/bugs/96/
+--- src/Makefile.am.orig	2022-12-22 18:40:51 UTC
++++ src/Makefile.am
+@@ -4,7 +4,7 @@ lbreakouthd_SOURCES = sdl.cpp sdl.h view.h view.cpp \
+ 	config.cpp config.h hiscores.cpp hiscores.h theme.cpp theme.h \
+ 	sprite.cpp sprite.h mixer.h menu.cpp menu.h selectdlg.h selectdlg.cpp \
+ 	editor.h editor.cpp
+-lbreakouthd_LDADD = ../libgame/libgame.a
++lbreakouthd_LDADD = ../libgame/libgame.a @INTLLIBS@
+ 
+ EXTRA_DIST = empty.hscr
+ 
diff --git a/games/lbreakouthd/pkg-descr b/games/lbreakouthd/pkg-descr
new file mode 100644
index 000000000000..91b6d89a8acc
--- /dev/null
+++ b/games/lbreakouthd/pkg-descr
@@ -0,0 +1,6 @@
+LBreakoutHD is a scaleable 16:9 remake of LBreakout2. You try to
+clear levels full of different types of bricks and extras by using
+your paddle to aim balls at the bricks.
+
+All LBreakout2 themes and levelsets work. New themes can be of any
+resolution.
diff --git a/games/lbreakouthd/pkg-plist b/games/lbreakouthd/pkg-plist
new file mode 100644
index 000000000000..b12f56765758
--- /dev/null
+++ b/games/lbreakouthd/pkg-plist
@@ -0,0 +1,8 @@
+@(,games,2555) bin/lbreakouthd
+share/applications/lbreakouthd.desktop
+%%NLS%%share/locale/de/LC_MESSAGES/lbreakouthd.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/lbreakouthd.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/lbreakouthd.mo
+share/pixmaps/lbreakouthd256.gif
+@sample(,games,664) /var/games/lbreakouthd/lbreakouthd.hscr.sample
+@dir(,games,775) /var/games/lbreakouthd