Nam Nguyen writes: > Nam Nguyen writes: >> This is an update for games/eliot to qt5 with a segfault fix when >> opening menus. >> > Here is a fresh diff with the following changes: > > - Upstream added my menu segfault fix, so this update brings it to this > commit: > https://git.savannah.nongnu.org/cgit/eliot.git/commit/?id=672a1b5001069b09c8e13c7bf1488e33164461f5 > > Also, my previous tarball accidentally had a .got directory, which I > made sure to remove in this tarball. > > - Upstream also added patch-dic_csv_helper_cpp, so remove it. > https://git.savannah.nongnu.org/cgit/eliot.git/commit/?id=5859299b48a8ca5756e1607139429edd4ac7ffa0 > > - Qt5 by default was recently merged to master, so --enable-qt now means > Qt5. > https://git.savannah.nongnu.org/cgit/eliot.git/commit/?id=b2cf69e3afa4fe1d63fb067848fa2d0723a307ff
Here is a fresh diff incorporating feedback from landry@ to use `gmake dist' to create an unofficial "release tarball." This is possible because I host my own distfile. Now autohell bits are no longer needed in the port. This is the process I used to generate my own release tarball from the git checkout: 1. Edit configure.ac to change version number from 2.2 to: AC_INIT([eliot],[2.1pl20200624]) 2. env AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.16 ./bootstrap 3. ./configure 4. gmake dist --enable-qt is now omitted because qt5 is on by default. > >> - Move HOMEPAGE to https >> - Hosts MASTER_SITES as a tarball from a git checkout dated 2018/11/10 >> on my server. Does anyone have space available to host this distfile >> until upstream does a new release? My VPS is cheap and not so reliable, >> but if this is acceptable, I could host it. >> - Moves to qt5 >> - CONFIGURE_STYLE autoreconf because it is not a release tarball >> - Adds gettext,-tools to BUILD_DEPENDS for building translations >> - do-gen line taken from Makefile.template to run autohell >> >> Note: I omitted BUILD_DEPENDS like devel/libtool and >> ${MODGNU_AUTOHELL_DEPENDS} because they seem to be pulled in by >> the autoreconf CONFIGURE_STYLE. >> >> - pre-build calls e...@quot.po-create and e...@boldquot.po-create targets in >> the po/Makefile. By default msgfmt fails because it expects a header >> (the header is inserted by these targets) when converting the po >> (portable object) files into gmo (GNU machine object). >> >> Note: I omitted the canonical env -i ${MAKE_ENV} before >> ${MAKE_PROGRAM} because it strangely fails. It should not be a problem >> because the *.po for quot and boldquot get headers correctly inserted >> for processing by gettext's msgfmt. Also, quote and boldquot only >> change quotation marks and are not really translation files. >> >> - new qt_new_game_cpp patch for missing header >> >> - removal of patch for utils/Makefile.in, which can be brought back with >> new release. ncurses works fine still. >> >> - I discovered a new segfault when opening any menu, resolved by >> patch-qt_main_cpp. eliot adds its own MyApplication class with > > <snip> upstreamed >> >> - Known quirks >> 1. I experienced a rare segfault at startup at one point during >> development, as brought up by rsadowski@ and thfr@, but I can no >> longer reproduce it. >> >> 2. Starting at the second turn, the rack might contain: >> >> D+EAD?BEEF >> >> where ? is a question mark. + is a bug and should not appear. It >> actually goes away if you rearrange tiles, but the + does appear in >> the game history. >> >> 3. I tested the ncurses interface. It segfaults if you forget to add >> --human players. >> >> $ eliotcurses -m d -d /usr/local/share/eliot/twl06.dawg --human player1 >> >> Feedback and tests are welcome. Index: Makefile =================================================================== RCS file: /cvs/ports/games/eliot/Makefile,v retrieving revision 1.14 diff -u -p -u -p -r1.14 Makefile --- Makefile 12 Jul 2019 20:46:17 -0000 1.14 +++ Makefile 25 Jun 2020 22:48:23 -0000 @@ -1,14 +1,13 @@ # $OpenBSD: Makefile,v 1.14 2019/07/12 20:46:17 sthen Exp $ -V = 2.1 +V = 2.1pl20200624 COMMENT = scrabble game DISTNAME = eliot-${V} CATEGORIES = games -REVISION = 5 -HOMEPAGE = http://nongnu.org/eliot/ +HOMEPAGE = https://nongnu.org/eliot/ -MASTER_SITES = ${MASTER_SITE_SAVANNAH:=eliot/releases/${V}/} +MASTER_SITES = https://namtsui.com/source/ EXTRACT_ONLY = ${DISTNAME}${EXTRACT_SUFX} DISTFILES += ${DISTNAME}${EXTRACT_SUFX} @@ -22,20 +21,21 @@ MASTER_SITES0 = ${MASTER_SITE_SAVANNAH:= # GPLv2 PERMIT_PACKAGE = Yes -MODULES = x11/qt4 +MODULES = x11/qt5 COMPILER = base-clang ports-gcc base-gcc CONFIGURE_STYLE = gnu CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include" \ - LDFLAGS="-L${X11BASE}/lib -pthread -L${LOCALBASE}/lib -liconv" + LDFLAGS="-L${X11BASE}/lib -pthread -L${LOCALBASE}/lib -liconv" USE_GMAKE = Yes BUILD_DEPENDS = devel/boost \ devel/libexecinfo RUN_DEPENDS = devel/desktop-file-utils LIB_DEPENDS = textproc/arabica devel/libconfig -WANTLIB += lib/qt4/QtGui lib/qt4/QtNetwork c m pthread ${COMPILER_LIBCXX} +WANTLIB += Qt5Core Qt5Gui Qt5Network Qt5PrintSupport Qt5Widgets +WANTLIB += c m pthread ${COMPILER_LIBCXX} WANTLIB += arabica config++ expat iconv intl curses post-configure: Index: distinfo =================================================================== RCS file: /cvs/ports/games/eliot/distinfo,v retrieving revision 1.2 diff -u -p -u -p -r1.2 distinfo --- distinfo 26 Apr 2013 13:04:14 -0000 1.2 +++ distinfo 25 Jun 2020 22:48:23 -0000 @@ -1,5 +1,5 @@ SHA256 (eliot/danosc.dawg) = W5WPswZz5U8/kQf+yFtu+8YK7D5X+nBhA0JXI4U2xEY= -SHA256 (eliot/eliot-2.1.tar.gz) = NVZf+NGpCWY9XcMaHtpnlqqB291PbqNDhmDzm0j2rC4= +SHA256 (eliot/eliot-2.1pl20200624.tar.gz) = 6i/luUO/1ahsG3iix2LuWbgvWRraa3Xhh27j4Tybtic= SHA256 (eliot/eliot-dic-cs.dawg) = XJUtv6lG4AGCZdi/y2CiLKBT8P5gxXkoE2gQCMt1Rng= SHA256 (eliot/eliot-dic-fr.dawg) = Xljscd4KP3zl1i3CWVQJfC3beeVH2HojjtYp+ztM5EI= SHA256 (eliot/lex-fise.dawg) = qbpm12Bo/an2Wq8D4g7XUJJDvfx7kcQNGfxR+JNd1Wk= @@ -7,7 +7,7 @@ SHA256 (eliot/rak.dawg) = zb+DtIN6KGsEnT SHA256 (eliot/sowpods06.dawg) = X0b65j9pDaZ85P8wEdIU4KBQV2HmrUeOw84GC8uUmVM= SHA256 (eliot/twl06.dawg) = 4eoz0oBRNyZk1DW4lw2zaTpTa17YOYaW1m4J3VnGSwE= SIZE (eliot/danosc.dawg) = 444874 -SIZE (eliot/eliot-2.1.tar.gz) = 1182295 +SIZE (eliot/eliot-2.1pl20200624.tar.gz) = 1024453 SIZE (eliot/eliot-dic-cs.dawg) = 471118 SIZE (eliot/eliot-dic-fr.dawg) = 314634 SIZE (eliot/lex-fise.dawg) = 525106 Index: patches/patch-dic_csv_helper_cpp =================================================================== RCS file: patches/patch-dic_csv_helper_cpp diff -N patches/patch-dic_csv_helper_cpp --- patches/patch-dic_csv_helper_cpp 3 Jun 2017 13:03:34 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -$OpenBSD: patch-dic_csv_helper_cpp,v 1.1 2017/06/03 13:03:34 espie Exp $ -missing include for istring -> bool implicit conversion - -Index: dic/csv_helper.cpp ---- dic/csv_helper.cpp.orig -+++ dic/csv_helper.cpp -@@ -31,6 +31,7 @@ - #else - # define _(String) String - #endif -+#include <iostream> - - using namespace std; - Index: patches/patch-qt_main_window_cpp =================================================================== RCS file: /cvs/ports/games/eliot/patches/patch-qt_main_window_cpp,v retrieving revision 1.3 diff -u -p -u -p -r1.3 patch-qt_main_window_cpp --- patches/patch-qt_main_window_cpp 26 Apr 2013 13:04:14 -0000 1.3 +++ patches/patch-qt_main_window_cpp 25 Jun 2020 22:48:23 -0000 @@ -1,8 +1,9 @@ $OpenBSD: patch-qt_main_window_cpp,v 1.3 2013/04/26 13:04:14 bcallah Exp $ Default to where dicts are installed ---- qt/main_window.cpp.orig Sun Jan 20 14:31:21 2013 -+++ qt/main_window.cpp Wed Apr 24 23:11:25 2013 -@@ -1215,7 +1215,7 @@ void MainWindow::onSettingsPreferences() +Index: qt/main_window.cpp +--- qt/main_window.cpp.orig ++++ qt/main_window.cpp +@@ -1216,7 +1216,7 @@ void MainWindow::onSettingsPreferences() void MainWindow::onSettingsChooseDic() { QString fileName = Index: patches/patch-utils_Makefile_in =================================================================== RCS file: patches/patch-utils_Makefile_in diff -N patches/patch-utils_Makefile_in --- patches/patch-utils_Makefile_in 26 Apr 2013 13:04:14 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-utils_Makefile_in,v 1.2 2013/04/26 13:04:14 bcallah Exp $ ---- utils/Makefile.in.orig Sat Apr 6 18:16:14 2013 -+++ utils/Makefile.in Wed Apr 24 23:11:25 2013 -@@ -72,7 +72,7 @@ host_triplet = @host@ - noinst_PROGRAMS = $(am__EXEEXT_2) - bin_PROGRAMS = $(am__EXEEXT_1) - @BUILD_TEXT_TRUE@am__append_1 = eliottxt --@BUILD_TEXT_TRUE@@HAS_READLINE_TRUE@am__append_2 = -lreadline -+@BUILD_TEXT_TRUE@@HAS_READLINE_TRUE@am__append_2 = -lreadline -lncursesw - @BUILD_TEXT_TRUE@@WITH_LOGGING_TRUE@am__append_3 = @LOG4CXX_LIBS@ - @BUILD_NCURSES_TRUE@am__append_4 = eliotcurses - @BUILD_NCURSES_TRUE@@WITH_LOGGING_TRUE@am__append_5 = @LOG4CXX_LIBS@ Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/games/eliot/pkg/PLIST,v retrieving revision 1.3 diff -u -p -u -p -r1.3 PLIST --- pkg/PLIST 27 Jun 2018 21:03:45 -0000 1.3 +++ pkg/PLIST 25 Jun 2020 22:48:23 -0000 @@ -13,8 +13,7 @@ share/eliot/lex-fise.dawg share/eliot/rak.dawg share/eliot/sowpods06.dawg share/eliot/twl06.dawg -share/icons/ -share/icons/eliot.xpm +share/icons/eliot.png share/locale/ca/LC_MESSAGES/eliot.mo share/locale/cs/LC_MESSAGES/eliot.mo share/locale/en/LC_MESSAGES/eliot.mo @@ -22,6 +21,7 @@ share/locale/en@boldquot/LC_MESSAGES/eli share/locale/en@quot/LC_MESSAGES/eliot.mo share/locale/es/LC_MESSAGES/eliot.mo share/locale/fr/LC_MESSAGES/eliot.mo +share/locale/gl/LC_MESSAGES/eliot.mo share/locale/id/LC_MESSAGES/eliot.mo share/locale/it/LC_MESSAGES/eliot.mo share/locale/sr/LC_MESSAGES/eliot.mo