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