Created attachment 221216 [details] mame patch Upgrading mame/mess to latest release: 0.227
Created attachment 221217 [details] mess patch
Created attachment 223956 [details] mame patch
Created attachment 223957 [details] mess patch
Created attachment 223958 [details] mame patch
Created attachment 223959 [details] mess patch
Just a heads up that 0.231 was released a few days ago (28 Apr), any plans to update the patch?
Created attachment 224632 [details] mame 0.231 patch
Created attachment 224633 [details] mess 0.231 patch
Created attachment 233653 [details] Diff to 0.243 Hello all, I have attempted to update MAME to 0.243, however, because MAME takes so long to build, I have not yet play tested it, and am currently waiting on the build to finish. # poudriere testport passed: [...] =========================================================================== =>> Checking for filesystem violations... done =======================<phase: run-depends >============================ ===== env: DEVELOPER_MODE=yes USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> mame-0.243 depends on package: liberation-fonts-ttf>=0 - not found ===> Installing existing package /packages/All/liberation-fonts-ttf-2.1.5,2.pkg [pkg.direwolf.home.arpa.] Installing liberation-fonts-ttf-2.1.5,2... [pkg.direwolf.home.arpa.] Extracting liberation-fonts-ttf-2.1.5,2: .......... done ===== Message from liberation-fonts-ttf-2.1.5,2: -- You can start using the fonts by following these instructions: Add the following line to the "Files" section of your x.org configuration file: FontPath "/usr/local/share/fonts/Liberation/" ===> mame-0.243 depends on package: liberation-fonts-ttf>=0 - found ===> Returning to build of mame-0.243 ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/xi.pc - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/xinerama.pc - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/xrender.pc - found ===> mame-0.243 depends on package: qt5-buildtools>=5.15.2 - found =========================================================================== =>> Recording filesystem state for prestage... done =======================<phase: stage >============================ ===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0 ===> Staging for mame-0.243 ===> mame-0.243 depends on package: liberation-fonts-ttf>=0 - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/xi.pc - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/xinerama.pc - found ===> mame-0.243 depends on file: /usr/local/libdata/pkgconfig/xrender.pc - found ===> mame-0.243 depends on package: qt5-buildtools>=5.15.2 - found ===> Generating temporary packing list install -s -m 555 /wrkdirs/usr/ports/emulators/mame/work/mame-mame0243/mame /wrkdirs/usr/ports/emulators/mame/work/stage/usr/local/bin (cd /wrkdirs/usr/ports/emulators/mame/work/mame-mame0243 && install -s -m 555 chdman jedutil ldresample ldverify romcmp unidasm /wrkdirs/usr/ports/emulators/mame/work/stag e/usr/local/libexec/mame) (cd /wrkdirs/usr/ports/emulators/mame/work/mame-mame0243 && /bin/sh -c '(/usr/bin/find -Ed $1 $3 | /usr/bin/cpio -dumpl $2 >/dev/null 2>&1) && /usr/bin/find -Ed $1 $3 \( -t ype d -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 755 "$@"'\'' . {} + -o -type f -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 0644 "$@"'\'' . {} + \)' COPYTREE_SHARE artwork / wrkdirs/usr/ports/emulators/mame/work/stage/usr/local/share/mame) (cd /wrkdirs/usr/ports/emulators/mame/work/mame-mame0243 && /bin/sh -c '(/usr/bin/find -Ed $1 $3 | /usr/bin/cpio -dumpl $2 >/dev/null 2>&1) && /usr/bin/find -Ed $1 $3 \( -t ype d -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 755 "$@"'\'' . {} + -o -type f -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 0644 "$@"'\'' . {} + \)' COPYTREE_SHARE hash /wrk dirs/usr/ports/emulators/mame/work/stage/usr/local/share/mame) (cd /wrkdirs/usr/ports/emulators/mame/work/mame-mame0243 && /bin/sh -c '(/usr/bin/find -Ed $1 $3 | /usr/bin/cpio -dumpl $2 >/dev/null 2>&1) && /usr/bin/find -Ed $1 $3 \( -t ype d -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 755 "$@"'\'' . {} + -o -type f -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 0644 "$@"'\'' . {} + \)' COPYTREE_SHARE docs /wrk dirs/usr/ports/emulators/mame/work/stage/usr/local/share/doc/mame) install -m 0644 /wrkdirs/usr/ports/emulators/mame/work/target.ini /wrkdirs/usr/ports/emulators/mame/work/stage/usr/local/share/examples/mame/mame.ini ====> Compressing man pages (compress-man) =========================================================================== ====> Running Q/A tests (stage-qa) Warning: Possible REINPLACE_CMD issues: - - REINPLACE_CMD ran, but did not modify file contents: scripts/genie.lua ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR ===> No pkg-plist issues found (check-plist) =>> Checking for staging violations... done =======================<phase: package >============================ ===== env: DEVELOPER_MODE=yes PACKAGES=/tmp/pkgs PKGREPOSITORY=/tmp/pkgs PKGLATESTREPOSITORY=/tmp/pkgs/Latest 'PKG_NOTES=build_timestamp built_by' 'PKG_NOTE_build_timestamp=20 22-05-02T07:51:13+0000' 'PKG_NOTE_built_by=poudriere-git-3.3.99.20211130' STRICT_DEPENDS=yes USER=root UID=0 GID=0 ===> Building package for mame-0.243 install -l rs /tmp/pkgs/mame-0.243.pkg /tmp/pkgs/mame-0.243.txz =========================================================================== =>> Recording filesystem state for preinst... done =======================<phase: install >============================ ===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0 ===> Installing for mame-0.243 ===> Checking if mame is already installed ===> Registering installation for mame-0.243 [pkg.direwolf.home.arpa.] Installing mame-0.243... An example configuration file has been installed in "/usr/local/share/examples/mame/mame.ini" Should you create a "~/.mame" directory and place it here or launch "mame -createconfig" and place the mame.ini created instead. ===> SECURITY REPORT: This port has installed the following files which may act as network servers and may therefore pose a remote security risk to the system. /usr/local/bin/mame /usr/local/libexec/mame/unidasm /usr/local/libexec/mame/ldresample /usr/local/libexec/mame/ldverify /usr/local/libexec/mame/romcmp /usr/local/libexec/mame/chdman If there are vulnerabilities in these programs there may be a security risk to the system. FreeBSD makes no guarantee about the security of ports included in the Ports Collection. Please type 'make deinstall' to deinstall the port if this is a concern. For more information, and contact details about the security status of this software, see the following webpage: http://mamedev.org/ =========================================================================== =>> Checking shared library dependencies 0x0000000000000001 NEEDED Shared library: [libGL.so.1] 0x0000000000000001 NEEDED Shared library: [libQt5Core.so.5] 0x0000000000000001 NEEDED Shared library: [libQt5Gui.so.5] 0x0000000000000001 NEEDED Shared library: [libQt5Widgets.so.5] 0x0000000000000001 NEEDED Shared library: [libSDL2-2.0.so.0] 0x0000000000000001 NEEDED Shared library: [libSDL2_ttf-2.0.so.0] 0x0000000000000001 NEEDED Shared library: [libX11.so.6] 0x0000000000000001 NEEDED Shared library: [libXext.so.6] 0x0000000000000001 NEEDED Shared library: [libXi.so.6] 0x0000000000000001 NEEDED Shared library: [libXinerama.so.1] 0x0000000000000001 NEEDED Shared library: [libc++.so.1] 0x0000000000000001 NEEDED Shared library: [libc.so.7] 0x0000000000000001 NEEDED Shared library: [libcxxrt.so.1] 0x0000000000000001 NEEDED Shared library: [libfontconfig.so.1] 0x0000000000000001 NEEDED Shared library: [libfreetype.so.6] 0x0000000000000001 NEEDED Shared library: [libgcc_s.so.1] 0x0000000000000001 NEEDED Shared library: [libm.so.5] 0x0000000000000001 NEEDED Shared library: [libpugixml.so.1] 0x0000000000000001 NEEDED Shared library: [libthr.so.3] 0x0000000000000001 NEEDED Shared library: [libutil.so.9] =======================<phase: deinstall >============================ ===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0 ===> Deinstalling for mame ===> Deinstalling mame-0.243 Updating database digests format: .......... done Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: mame: 0.243 Number of packages to be removed: 1 The operation will free 342 MiB. [pkg.direwolf.home.arpa.] [1/1] Deinstalling mame-0.243... [pkg.direwolf.home.arpa.] [1/1] Deleting files for mame-0.243: .......... done =========================================================================== =>> Checking for extra files and directories [02:51:36] Installing from package [pkg.direwolf.home.arpa.] Installing mame-0.243... [pkg.direwolf.home.arpa.] Extracting mame-0.243: .......... done ===== Message from mame-0.243: -- An example configuration file has been installed in "/usr/local/share/examples/mame/mame.ini" Should you create a "~/.mame" directory and place it here or launch "mame -createconfig" and place the mame.ini created instead. [02:51:40] Cleaning up ===> Cleaning for mame-0.243 [02:51:40] Deinstalling package Updating database digests format: . done Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: mame: 0.243 Number of packages to be removed: 1 The operation will free 342 MiB. [pkg.direwolf.home.arpa.] [1/1] Deinstalling mame-0.243... [pkg.direwolf.home.arpa.] [1/1] Deleting files for mame-0.243: .......... done build of emulators/mame | mame-0.243 ended at Mon May 2 10:19:13 UTC 2022 build time: 02:28:00 [02:51:40] Logs: /net/fafnir/poudriere/data/logs/bulk/direwolf-head-direwolf/2022-05-02_07h27m33s [02:51:41] Cleaning up [02:51:41] Unmounting file systems Two things about the diff: • I had to add "BINARY_ALIAS=python3=${PYTHON_CMD}" to the Makefile, because the MAME devices/cpu generation stage was failing. I am not sure if this correct, or needed. • I removed "define NO_AFFINITY_NP 1" from src/osd/sdl/sdlprefix.h as FreeBSD as supported CPU affinity in POSIX thread since FreeBSD-7.2 (https://www.freebsd.org/cgi/man.cgi?query=pthread_affinity_np&apropos=0&sektion=0&manpath=FreeBSD+14.0-current&arch=default&format=html). This could be incorrect too.
Created attachment 233733 [details] MAME and MESS patch to 0.243 Updated patch Based on Stéphane D'Alu work.
Created attachment 233766 [details] mame-0.243.patch Fix pkg-plist and include patch from bug#257253. Tested with Neo Geo.
Created attachment 233767 [details] mess-0.243.patch
Created attachment 233768 [details] mame-0.243.patch Remove customisation left in Makefile.
Created attachment 233830 [details] mame-0.243.patch Update pkg-descr and pkg-message.in
Thanks for updating the patch, now let's hope that someone manage to commit it.
I have had much success with parallel building of MAME. Parallel builds drop a single threaded build of ≆3 hours to 9 minutes on an AMD Ryzen 9 3950X. Some areas of post-patch could probably be trimmed to.
Created attachment 234114 [details] mame-0.243.patch • Sync with main • Build MAME documentation and install that, instead of source • Use DOCS framework • Refactor do-install and post-install targets • MAME docs now requires bug #264151 to build
Created attachment 234115 [details] mess-0.243.patch Follow mame patch update. • Update pkg-descr and point to new MESS home • MAME now handles all binaries except mess
I also updated the example .ini configuration, and the port now installs more resources/data.
Created attachment 234119 [details] mame-0.243.patch
Created attachment 234120 [details] mess-0.243.patch
Created attachment 234130 [details] mame-0.243.patch
Created attachment 234289 [details] mame-0.244.patch Update to 0.244: https://www.mamedev.org/releases/whatsnew_0244.txt
Created attachment 234290 [details] mess-0.244.patch Update to 0.244
I didn't manage to build with your patch. Can you check that the one you posted is the one you are using?
(In reply to Stéphane D'Alu from comment #25) Built fine last time I tried at ports r594faf8b02f99d6d0a2cc898624fd39a3b21f9c9. I am working on an update for 0.245, which I plan to have complete by the weekend. What is the output from the build?
patch not applying correctly, I think it is due to previous patch being removed and not taken into account by git diff. also (when removing theses patches), packaging failed due to missing *.1 man pages (I was building without doc)
Yeah I have stuffed that patch. Sorry about that. I am waiting on the build to finish for the 0.245 patch. Will update later.
Created attachment 235445 [details] mame-0.245.patch Update to 0.245 (https://www.mamedev.org/?p=514) bug #264151 is required for building MAME(1), I had incorrectly moved the man page build/install with the rest of the documentation; fixed. Waiting on poudriere testport.
Created attachment 235455 [details] mame-0.245.patch Update to 0.245
Created attachment 235456 [details] mess-0.245.patch Update to mess-0.245.patch
Stéphane, could you please fill the URL field of the bug report with https://www.mamedev.org/releases/whatsnew_0245.txt, thanks
ta very much
Can you make the build dependency py-sphinxcontrib-svg2pdfconverter only required if needed: HTMLDOCS ?
(In reply to Stéphane D'Alu from comment #34) > Can you make the build dependency py-sphinxcontrib-svg2pdfconverter only required if needed: HTMLDOCS ? We could, but it is my understanding that manual pages are mandatory installation components. MAME.1 is part of the Sphinx build (unfortunate at the moment), and the mame port has neglected the entire Sphinx generated documentation, for how long, I do not know. It is not the build dependency that is holding this up. Manu has sat on this bug for over a year now, that absence has been fortuitous, we have now discovered that the MAME project provides richer and extra documentation, as well as a manual page tied to that documentation system. OpenBSD is gaining momentum as a gaming machine, this is obviously a great thing, FreeBSD has that reputation too. I think it is frustrating that mame is not an option to the average gamer exploring FreeBSD, however, I do not think that justifies ignoring the great efforts of the MAME team to provide a manual in the first place, man pages are rare, we should support projects that provide them by installing them. The situation is disheartening to say the least. Loads of gamers are now exploring systems other than Microsoft, Linux gamers are exploring BSDs. Manu is appears to be heavily tied up with DRM (this enables more gaming of course) and other base related components. Perhaps the line of inquiry should be, how can we assist Manu, or, is there someone else with a commit bit that can assist us?
I have two more tests to run. Both mame and mess pass poudriere testport with all options enabled, I am now running poudriere testport with those options disabled. If the tests complete with passes, I have new patches to upload, however, they do not separate the MAME.1 manual from the Sphinx build.
Created attachment 235499 [details] mame-0.245.patch mame-0.245.patch Tested with "poudriere testport"
Created attachment 235504 [details] mess-0.245.patch mess-0.245.patch Tested with "poudriere testport"
Created attachment 235523 [details] mame-0.245.patch Fix DOCS_DESC
Created attachment 235526 [details] mame-0.245-no-sphinx-docs.patch Modified mame-0.245.patch that disables the Sphinx generated man page an, html documentation. Hopefully this makes MAME on FreeBSD more accessible to interested testers.
Created attachment 235644 [details] mess-0.246.patch Update to 0.246 https://www.mamedev.org/releases/whatsnew_0246.txt
Created attachment 235645 [details] mame-0.246.patch Update to 0.246 https://www.mamedev.org/releases/whatsnew_0246.txt
Created attachment 235646 [details] mame-0.246.no-sphinx-build-docs.patch
Created attachment 236147 [details] mame-0.246.patch ∙ Restore files/patch-src_osd_eigccx86.h ∙ Format Makefile with ports-mgmt/portfmt
(In reply to Alastair Hogge from comment #44) Can you help rebase the patch to the latest ports main branch? I tried to apply the patch manually but it is too complex and I am afraid that I would break it.
(In reply to Li-Wen Hsu from comment #45) Hi Li-Wen, I have patch for 0.248 that has passed the usual testing, however, I am still waiting on poudriere-testport to complete; this process takes longer, because MAME has to be built single threaded inside poudriere. MESS will have to go thru the same process. I will upload patches and my best effort to explain the changes in the port's Makefile and files/ hierarchy, tomorrow if all goes well. Sorry for the delay, and thanks for supporting the MAME community on FreeBSD.
Created attachment 237653 [details] mame-0.248.patch Update to mame-0.248 https://www.mamedev.org/releases/whatsnew_0248.txt
Created attachment 237654 [details] mess-0.248.patch Update to mess-0.248
Hello, This is an attempt to explain the churn in the diffs to 0.248. Stéphane D'Alu: * Remove the "64" suffix from the produced binary * Reduce 64, and bit endian coding from files/patch-makefile * Reduce C per-processor x86 magic in files/patch-src_osd_eigccx86.h Alastair Hogge: * Run port/Makefile thru portfmt(1) and portlint(1); some variables have been alphabetically sorted * Populate Makefile with more open-source licenses covering/used in MAME * Build Sphinx documentation; the manual page is separated from the HTML documentation thru the DOCS OPTION * Replace SHEBANG_FILES fixes with BINARY_ALIAS= (python) * Explicitly list paths for PORTDOCS * Add port specific descriptions for all OPTIONS * Alphabetically sort Makefile targets * Add/make use of more specific Makefile targets * Clean up post-patch target to only search and replace terms that currently exist in target files * Remove two REINPLACE_CMD's that are now covered with BINARY_ALIAS * files/patch-3rdparty_asio_include_asio_detail_config.hpp, files/patch-makefile, and files/patch-src_osd_eminline.h are fixed upstream * FreeBSD supports POSIX CPU thread affinity, so enable it in files/patch-src_osd_sdl_sdlprefix.h instead of disabling it now. * Update the included sample configuration in files/target.ini.in, also set the paths to more reasonable expectation on FreeBSD—use ${HOME} and /usr/local/share/${EMULATOR} for defaults The x86 C per-processor magic in the various patches in files/ are now removed; MAME code is littered with this C rubbish, and the local patches in the tree was not covering all cases. I only test on amd64, and the MAME build system detects __amd64__ and complies fine. The binary runs (tested on some Neo-Geo and SEGA games), and reports the following: Compiler defines B: __amd64__=1 __x86_64__=1 __unix__=1
* MESS is just a single binary now, the formally MESS related extra tools/commands are now installed with MAME. * Updated the MESS homepage
MAME have released 0.249: https://www.mamedev.org/releases/whatsnew_0249.txt
Created attachment 237699 [details] mame-0.249.patch Update to 0.249
Created attachment 237700 [details] mess-0.249.patch Update to 0.249
(In reply to Alastair Hogge from comment #52) Oh I fucked up the 0.249 patch for mame, sorry; will upload correct patch later.
Created attachment 237720 [details] mame-0.249.patch Update to 0.249 Hello, Sorry for the delay. The updated patch is still going thru a poudriere-testport run, however, I have run tested a successful build via the ports tree.
(In reply to Alastair Hogge from comment #55) Talked to manu@ and he's fine with the patch and we think it's good to handover the maintainership. Alastair, do you want to help maintaining these ports? That will definitely improve the status and future updates.
Created attachment 237734 [details] mame-0.249.patch Update to 0.249 (passed poudriere-testport)
(In reply to Li-Wen Hsu from comment #56) Hi Li-Wen and Manu, Is this some kind of punishment for submitting patches? Nahhhh, I am joking. I would be happy to help, and thank you Manu for reading over the patch.
Created attachment 237739 [details] mame-0.249.patch
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=5fb3b275a32501e1df45a08b034b94b8eb93b9a2 commit 5fb3b275a32501e1df45a08b034b94b8eb93b9a2 Author: Alastair Hogge <agh@riseup.net> AuthorDate: 2022-11-03 17:25:22 +0000 Commit: Li-Wen Hsu <lwhsu@FreeBSD.org> CommitDate: 2022-11-04 02:52:13 +0000 emulators/{mame,mess}: Update to 0.249 Release note: https://www.mamedev.org/releases/whatsnew_0249.txt Also transfer maintainership. PR: 252362 Reported by: Stéphane D'Alu <sdalu@sdalu.com> (initial patches) Approved by: manu emulators/mame/Makefile | 187 ++- emulators/mame/distinfo | 6 +- ...arty_asio_include_asio_detail_config.hpp (gone) | 18 - emulators/mame/files/patch-makefile (gone) | 81 - .../mame/files/patch-src_osd_eigccx86.h (gone) | 110 -- .../mame/files/patch-src_osd_eminline.h (gone) | 11 - emulators/mame/files/patch-src_osd_sdl_sdlprefix.h | 9 +- emulators/mame/files/pkg-message.in | 8 +- emulators/mame/files/target.ini.in | 304 ++-- emulators/mame/pkg-descr | 11 +- emulators/mame/pkg-plist | 1674 +++++++++++++++++++- emulators/mess/Makefile | 4 +- emulators/mess/pkg-descr | 10 +- emulators/mess/pkg-plist | 1658 ++++++++++++++++++- 14 files changed, 3583 insertions(+), 508 deletions(-)
Thanks.