Related proposal: Should these be removed from the mirrors since
PERMIT_DISTFILES = no?
https://ftp.openbsd.org/pub/OpenBSD/distfiles/jag-0.3.2-data.zip
jag-0.3.2.zip
jag-0.3.7.tar.gz
Here is a fresh diff that additionally:
- removes -g debug flag from pro files and update patch comments
- post-install chowns and chmods ${PREFIX}/share/jag instead of
${PREFIX}/share, just to be more specific
summary of changes:
- removes gameprofile.cpp and displaywrapper.cpp patches, as they have
already been added upstream
- PERMIT_PACKAGE comment updated to state that assets are under an
ambiguous free license
changes from thfr@:
- COMPILER for switch to -std=gnu++17
- remove devel/SDL2 from LIB_DEPENDS because devel/sdl2-mixer has it
- explicitly state which files need DOS line endings from
Makefile.template
- add missing WANTLIB GL
- correct license marker GPLv3+
>> >> - PERMIT_PACKAGE = Yes due to removal of all themes except for the
>> >> default theme
>> >> discussion: https://gitlab.com/coringao/jag/-/issues/1
>
>> >> All questionable assets were removed so I propose PERMIT_PACKAGE =
>> >> Yes. I still could not find a license for the default theme made by
>> >> PixelMixer. Given that the default theme's assets are featured on the
>> >> website and they were not made by Fasticon, they should fall under the
>> >> JAG menu's statement: "Thanks to the authors of graphics, icons and
>> >> sounds, which are used under free licenses in the game." Hopefully this
>> >> is sufficient for PERMIT_PACKAGE = Yes.
Thomas Frohwein writes:
>
> I think the questions are:
>
> 1. who is the copyright holder (usually creator) of the default theme?
> 2. What license did they publish it with? (or maybe none?)
>
> In my opinion, upstream has to do their do diligence before they claim
> this to be GPLv3(+).
"Free licenses" is too ambiguous so I've left PERMIT_PACKAGE as no,
until some future time when more evidence can be provided.
I e-mailed the creator of the original theme (PixelMixer) and author of
a related project, bubble chains, (sintegrial) to see if I get any
leads. I will update in the gitlab thread.
> Are there any unlicensed assets not included in
> the copyright of the project to your best knowledge?
Does copyright means GPLv3+ license in this context? Assets under
question are level packs, translations, icons/backgrounds/graphics and
sounds. I'm unsure whether assets are unlicensed or included in GPLv3+,
but most of them have credits (e.g., level packs, translations and
themes).
As an aside, I filed a report for the menu saying, "Uses SDL library
under GPLv3 license" to change it to SDL2 zlib. From my research, I found
that LGPL 2 and 3 could be relicensed to GPLv3+ but zlib cannot be.
https://gitlab.com/coringao/jag/-/issues/3
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/jag/Makefile,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 Makefile
--- Makefile 1 Aug 2020 05:34:08 -0000 1.12
+++ Makefile 14 Nov 2020 00:52:37 -0000
@@ -1,44 +1,41 @@
# $OpenBSD: Makefile,v 1.12 2020/08/01 05:34:08 landry Exp $
COMMENT = arcade-puzzle game
-V = 0.3.7
+V = 0.3.8
DISTNAME = jag-${V}
CATEGORIES = games
HOMEPAGE = https://gitlab.com/coringao/jag
-# GPLv3
+# GPLv3+
# https://gitlab.com/coringao/jag/-/issues/1
-PERMIT_PACKAGE = restrictively licensed themes
-PERMIT_DISTFILES = restrictively licensed themes
+PERMIT_PACKAGE = ambiguous free license for graphics, icons and sounds
+PERMIT_DISTFILES = ambiguous free license for graphics, icons and sounds
-WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5Gui Qt5OpenGL Qt5Widgets
+WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5Gui Qt5OpenGL Qt5Widgets
WANTLIB += Qt5X11Extras SDL2 SDL2_mixer X11 Xrandr c
-COMPILER = base-clang ports-gcc base-gcc
+COMPILER = base-clang ports-gcc
MASTER_SITES = https://gitlab.com/coringao/jag/-/archive/${V}/
MODULES = devel/qmake x11/qt5
-LIB_DEPENDS = devel/sdl2 \
- devel/sdl2-mixer \
+LIB_DEPENDS = devel/sdl2-mixer \
x11/qt5/qtx11extras
# make jag and jag-editor
MODQMAKE_PROJECTS = . \
src/editor
-# delete DOS line endings
-post-extract:
- @find ${WRKSRC} -type f \( -name "*.cpp" -o -name "*.h" \) -exec \
- perl -i -pe 's/\r$$//' {} +
+pre-patch:
+ @cd ${WRKSRC} && perl -i -pe 's/\r$$//' src/main.cpp
pre-configure:
- @${SUBST_CMD} ${WRKSRC}/game.pro ${WRKSRC}/src/main.cpp \
- ${WRKSRC}/src/editor/jag-editor.pro
+ @cd ${WRKSRC} && ${SUBST_CMD} src/main.cpp game.pro \
+ src/editor/jag-editor.pro
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/jag
cd ${WRKSRC}/data && pax -rw . ${PREFIX}/share/jag
- chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/
- find ${PREFIX}/share -type d -exec chmod ${DIRMODE} {} + -o \
+ chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/jag
+ find ${PREFIX}/share/jag -type d -exec chmod ${DIRMODE} {} + -o \
-type f -exec chmod ${SHAREMODE} {} +
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/games/jag/distinfo,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 distinfo
--- distinfo 1 Aug 2020 05:34:08 -0000 1.2
+++ distinfo 14 Nov 2020 00:52:37 -0000
@@ -1,2 +1,2 @@
-SHA256 (jag-0.3.7.tar.gz) = jI+SYKL476N4ojzhUdWjoEDklJ+EFBClnRDUzeJH9t4=
-SIZE (jag-0.3.7.tar.gz) = 6971529
+SHA256 (jag-0.3.8.tar.gz) = NG07uNFmccGCsFaLkpg7jVM6Caz7PQPpSneO6HnS1gQ=
+SIZE (jag-0.3.8.tar.gz) = 3025319
Index: patches/patch-game_pro
===================================================================
RCS file: /cvs/ports/games/jag/patches/patch-game_pro,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-game_pro
--- patches/patch-game_pro 1 Aug 2020 05:34:08 -0000 1.1
+++ patches/patch-game_pro 14 Nov 2020 00:52:37 -0000
@@ -1,8 +1,20 @@
$OpenBSD: patch-game_pro,v 1.1 2020/08/01 05:34:08 landry Exp $
+remove -g. install jag to correct prefix. data files are installed by
+post-install, not by game.pro.
+
Index: game.pro
--- game.pro.orig
+++ game.pro
+@@ -20,7 +20,7 @@ INCLUDEPATH += .
+ QT += gui core widgets opengl xml x11extras
+ CONFIG += link_pkgconfig
+ PKGCONFIG += sdl2 SDL2_mixer
+-QMAKE_CXXFLAGS += -g -std=gnu++17 -D_FORTIFY_SOURCE=2
++QMAKE_CXXFLAGS += -std=gnu++17 -D_FORTIFY_SOURCE=2
+ QMAKE_LFLAGS += -fPIE -pie -Wl,--as-needed -Wl,-z,now
+ LIBS += -lGL -lX11 -lSDL2 -lSDL2_mixer -lpthread -lXrandr
+
@@ -30,11 +30,8 @@ RCC_DIR += src
UI_DIR += src
Index: patches/patch-src_displaywrapper_cpp
===================================================================
RCS file: patches/patch-src_displaywrapper_cpp
diff -N patches/patch-src_displaywrapper_cpp
--- patches/patch-src_displaywrapper_cpp 1 Aug 2020 05:34:08 -0000
1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-$OpenBSD: patch-src_displaywrapper_cpp,v 1.1 2020/08/01 05:34:08 landry Exp $
-
-Index: src/displaywrapper.cpp
---- src/displaywrapper.cpp.orig
-+++ src/displaywrapper.cpp
-@@ -305,8 +305,6 @@ void DisplayWrapper::dw_init(bool filter, int minWidth
- //short original_rate = XRRConfigCurrentRate(conf);
- //SizeID original_size_id = XRRConfigCurrentConfiguration(conf,
&original_rotation);
-
-- XCloseDisplay(dpy);
--
- for (int i = 0; i < num_sizes; i++)
- {
- int width = xrrs[i].width;
-@@ -325,6 +323,8 @@ void DisplayWrapper::dw_init(bool filter, int minWidth
- modes.append(mode);
- }
- }
-+
-+ XCloseDisplay(dpy);
-
- if (filter)
- modeNames.removeDuplicates();
Index: patches/patch-src_editor_jag-editor_pro
===================================================================
RCS file: /cvs/ports/games/jag/patches/patch-src_editor_jag-editor_pro,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-src_editor_jag-editor_pro
--- patches/patch-src_editor_jag-editor_pro 1 Aug 2020 05:34:08 -0000
1.1
+++ patches/patch-src_editor_jag-editor_pro 14 Nov 2020 00:52:37 -0000
@@ -1,11 +1,17 @@
$OpenBSD: patch-src_editor_jag-editor_pro,v 1.1 2020/08/01 05:34:08 landry Exp
$
-install jag-editor to correct prefix. jag-editor still works without data
files.
+remove -g. install jag-editor to correct prefix. jag-editor still works without
+data files.
Index: src/editor/jag-editor.pro
--- src/editor/jag-editor.pro.orig
+++ src/editor/jag-editor.pro
-@@ -22,11 +22,8 @@ QMAKE_CXXFLAGS += -g -std=gnu++14 -D_FORTIFY_SOURCE=2
+@@ -18,15 +18,12 @@ TARGET = jag-editor
+ INCLUDEPATH += .
+
+ QT += gui core widgets xml x11extras
+-QMAKE_CXXFLAGS += -g -std=gnu++17 -D_FORTIFY_SOURCE=2
++QMAKE_CXXFLAGS += -std=gnu++17 -D_FORTIFY_SOURCE=2
QMAKE_LFLAGS += -lpthread -fPIE -pie -Wl,--as-needed -Wl,-z,now
unix: {
Index: patches/patch-src_gameprofile_cpp
===================================================================
RCS file: patches/patch-src_gameprofile_cpp
diff -N patches/patch-src_gameprofile_cpp
--- patches/patch-src_gameprofile_cpp 1 Aug 2020 05:34:08 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_gameprofile_cpp,v 1.1 2020/08/01 05:34:08 landry Exp $
-
-Index: src/gameprofile.cpp
---- src/gameprofile.cpp.orig
-+++ src/gameprofile.cpp
-@@ -88,7 +88,7 @@ GameProfile::GameProfile(QObject *parent) : QObject(pa
- m_accel(false)
- {
- userPath = QDir::homePath();
-- userPath += "/.xlabsoft/jag/";
-+ userPath += "/.jag/";
-
-
- QDir userdir(userPath);
Index: patches/patch-src_main_cpp
===================================================================
RCS file: /cvs/ports/games/jag/patches/patch-src_main_cpp,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-src_main_cpp
--- patches/patch-src_main_cpp 1 Aug 2020 05:34:08 -0000 1.1
+++ patches/patch-src_main_cpp 14 Nov 2020 00:52:38 -0000
@@ -1,5 +1,7 @@
$OpenBSD: patch-src_main_cpp,v 1.1 2020/08/01 05:34:08 landry Exp $
+fix resource path
+
Index: src/main.cpp
--- src/main.cpp.orig
+++ src/main.cpp
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/games/jag/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 PLIST
--- pkg/PLIST 1 Aug 2020 05:34:08 -0000 1.2
+++ pkg/PLIST 14 Nov 2020 00:52:38 -0000
@@ -34,45 +34,6 @@ share/jag/levels/abc.lpk
share/jag/levels/default.lpk
share/jag/levels/sunzero.lpk
share/jag/schemes/
-share/jag/schemes/african/
-share/jag/schemes/african/bg1.jpg
-share/jag/schemes/african/bg2.jpg
-share/jag/schemes/african/bg3.jpg
-share/jag/schemes/african/item1.png
-share/jag/schemes/african/item2.png
-share/jag/schemes/african/item3.png
-share/jag/schemes/african/item4.png
-share/jag/schemes/african/item5.png
-share/jag/schemes/animals/
-share/jag/schemes/animals/bg1.jpg
-share/jag/schemes/animals/bg2.jpg
-share/jag/schemes/animals/bg3.jpg
-share/jag/schemes/animals/item1.png
-share/jag/schemes/animals/item2.png
-share/jag/schemes/animals/item3.png
-share/jag/schemes/animals/item4.png
-share/jag/schemes/animals/item5.png
-share/jag/schemes/animals/item6.png
-share/jag/schemes/chinese/
-share/jag/schemes/chinese/bg1.jpg
-share/jag/schemes/chinese/bg2.jpg
-share/jag/schemes/chinese/bg3.jpg
-share/jag/schemes/chinese/item1.png
-share/jag/schemes/chinese/item2.png
-share/jag/schemes/chinese/item3.png
-share/jag/schemes/chinese/item4.png
-share/jag/schemes/chinese/item5.png
-share/jag/schemes/chinese/item6.png
-share/jag/schemes/creatures/
-share/jag/schemes/creatures/bg1.jpg
-share/jag/schemes/creatures/bg2.jpg
-share/jag/schemes/creatures/bg3.jpg
-share/jag/schemes/creatures/item1.png
-share/jag/schemes/creatures/item2.png
-share/jag/schemes/creatures/item3.png
-share/jag/schemes/creatures/item4.png
-share/jag/schemes/creatures/item5.png
-share/jag/schemes/creatures/item6.png
share/jag/schemes/default/
share/jag/schemes/default/bg1.jpg
share/jag/schemes/default/bg2.jpg
@@ -92,53 +53,6 @@ share/jag/schemes/default/item5.png
share/jag/schemes/default/item6.png
share/jag/schemes/default/target1.png
share/jag/schemes/default/target2.png
-share/jag/schemes/futurama/
-share/jag/schemes/futurama/bg1.jpg
-share/jag/schemes/futurama/bg2.jpg
-share/jag/schemes/futurama/bg3.jpg
-share/jag/schemes/futurama/item1.png
-share/jag/schemes/futurama/item2.png
-share/jag/schemes/futurama/item3.png
-share/jag/schemes/futurama/item4.png
-share/jag/schemes/futurama/item5.png
-share/jag/schemes/futurama/item6.png
-share/jag/schemes/kde-crystal/
-share/jag/schemes/kde-crystal/bg1.jpg
-share/jag/schemes/kde-crystal/bg2.jpg
-share/jag/schemes/kde-crystal/bg3.jpg
-share/jag/schemes/kde-crystal/bg4.jpg
-share/jag/schemes/kde-crystal/block1.png
-share/jag/schemes/kde-crystal/block2.png
-share/jag/schemes/kde-crystal/item1.png
-share/jag/schemes/kde-crystal/item2.png
-share/jag/schemes/kde-crystal/item3.png
-share/jag/schemes/kde-crystal/item4.png
-share/jag/schemes/kde-crystal/item5.png
-share/jag/schemes/kde-crystal/item6.png
-share/jag/schemes/kde-crystal/target1.png
-share/jag/schemes/kde-crystal/target2.png
-share/jag/schemes/kde-nuvola/
-share/jag/schemes/kde-nuvola/bg1.jpg
-share/jag/schemes/kde-nuvola/bg2.jpg
-share/jag/schemes/kde-nuvola/bg3.jpg
-share/jag/schemes/kde-nuvola/bg4.jpg
-share/jag/schemes/kde-nuvola/bg5.jpg
-share/jag/schemes/kde-nuvola/item1.png
-share/jag/schemes/kde-nuvola/item2.png
-share/jag/schemes/kde-nuvola/item3.png
-share/jag/schemes/kde-nuvola/item4.png
-share/jag/schemes/kde-nuvola/item5.png
-share/jag/schemes/kde-nuvola/item6.png
-share/jag/schemes/toys/
-share/jag/schemes/toys/bg1.jpg
-share/jag/schemes/toys/bg2.jpg
-share/jag/schemes/toys/bg3.jpg
-share/jag/schemes/toys/item1.png
-share/jag/schemes/toys/item2.png
-share/jag/schemes/toys/item3.png
-share/jag/schemes/toys/item4.png
-share/jag/schemes/toys/item5.png
-share/jag/schemes/toys/item6.png
share/jag/sounds/
share/jag/sounds/beep.wav
share/jag/sounds/bighammer.wav