CVS commit: pkgsrc/emulators/PC6001VX

"Izumi Tsutsui" <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
Module Name:	pkgsrc
Committed By:	tsutsui
Date:		Fri Aug 14 17:05:32 UTC 2026

Modified Files:
	pkgsrc/emulators/PC6001VX: Makefile distinfo options.mk
Added Files:
	pkgsrc/emulators/PC6001VX/patches: patch-CMakeLists.txt
Removed Files:
	pkgsrc/emulators/PC6001VX/patches: patch-src_console.cpp

Log Message:
PC6001VX: update to 4.4.0

pkgsrc changes:

- update definitions for cmake per upstream changes
- make NOJOYSTIC, NOAVI, NOMONITOR, and DELAY_TIMER_MS_DEFAULT values
  configurable in CMakefile.txt
- switch to using ffmpeg8 to sync version with qt6-qtmultimedia
- remove unnecessary qt6-qt5compat that should have be removed since 4.3.0
- remove unnecessary obsolete definitions
- remove a patch fixed in upstream

Upstream changes:
 https://eighttails.seesaa.net/article/521347022.html
 https://github.com/eighttails/PC6001VX/blob/v4.4.0/README.adoc#%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4

4.4.0 2026/08/15

PC6001VX 4.4.0 release
* Migrated to cmake-based build and removed .pro file for qmake.
* Updated PC-6001 compatible BASIC to 0.8.2
* Updated compatible BASIC for PC-6001mkII/6601 to 0.5.3.
  Basic mode 6 is not supported, but software up to mode 5 can be
  sped up by turning off bus requests.
* Supported FFMpeg 9 (can be built with FFMpeg 7, 8, 9)
  (thanks to bevanjkay)


To generate a diff of this commit:
cvs rdiff -u -r1.125 -r1.126 pkgsrc/emulators/PC6001VX/Makefile
cvs rdiff -u -r1.54 -r1.55 pkgsrc/emulators/PC6001VX/distinfo
cvs rdiff -u -r1.6 -r1.7 pkgsrc/emulators/PC6001VX/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/emulators/PC6001VX/patches/patch-CMakeLists.txt
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/emulators/PC6001VX/patches/patch-src_console.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
(unnamed) (text/x-diff, 9.8 KB)
Modified files:

Index: pkgsrc/emulators/PC6001VX/Makefile
diff -u pkgsrc/emulators/PC6001VX/Makefile:1.125 pkgsrc/emulators/PC6001VX/Makefile:1.126
--- pkgsrc/emulators/PC6001VX/Makefile:1.125	Mon Jul 13 04:35:35 2026
+++ pkgsrc/emulators/PC6001VX/Makefile	Fri Aug 14 17:05:32 2026
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.125 2026/07/13 04:35:35 wiz Exp $
+# $NetBSD: Makefile,v 1.126 2026/08/14 17:05:32 tsutsui Exp $
 
-VERSION=		4.3.0
+VERSION=		4.4.0
 DISTNAME=		PC6001VX_${VERSION}_src
 PKGNAME=		${DISTNAME:S/_src//:S/_/-/}
-PKGREVISION=		6
 CATEGORIES=		emulators
 MASTER_SITES=		https://eighttails.up.seesaa.net/bin/
 
@@ -14,29 +13,26 @@ LICENSE=		gnu-lgpl-v2.1
 
 TOOL_DEPENDS+=		qt6-qttools-[0-9]*:../../devel/qt6-qttools
 
-USE_LIBTOOL=		yes
 USE_TOOLS+=		pkg-config
-USE_LANGUAGES=		c c++
+USE_LANGUAGES=		c++
 
 INSTALLATION_DIRS+=	bin
 
+CMAKE_CONFIGURE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
+
 .include "../../mk/bsd.prefs.mk"
 .include "options.mk"
 
 .if ${OPSYS} == "NetBSD"
 # XXX assumes most major Tier-I ports have HZ=100
-QMAKE_ARGS+=		DEFINES+="DELAY_TIMER_MS_DEFAULT=10"
+CMAKE_CONFIGURE_ARGS+=	-DDELAY_TIMER_MS_DEFAULT=10
 .endif
 
-do-configure:
-	cd ${WRKSRC} && ${PKGSRC_SETENV} ${CONFIGURE_ENV} \
-		${QTDIR}/bin/qmake -o Makefile ${QMAKE_ARGS} PC6001VX.pro
-
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/PC6001VX \
+	${INSTALL_PROGRAM} ${WRKSRC}/${CMAKE_BUILD_DIR}/PC6001VX \
 	    ${DESTDIR}${PREFIX}/bin
 
-.include "../../devel/qt6-qt5compat/buildlink3.mk"
+.include "../../devel/cmake/build.mk"
 .include "../../multimedia/qt6-qtmultimedia/buildlink3.mk"
 .include "../../x11/qt6-qtbase/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/emulators/PC6001VX/distinfo
diff -u pkgsrc/emulators/PC6001VX/distinfo:1.54 pkgsrc/emulators/PC6001VX/distinfo:1.55
--- pkgsrc/emulators/PC6001VX/distinfo:1.54	Wed Apr  8 13:39:14 2026
+++ pkgsrc/emulators/PC6001VX/distinfo	Fri Aug 14 17:05:32 2026
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.54 2026/04/08 13:39:14 tsutsui Exp $
+$NetBSD: distinfo,v 1.55 2026/08/14 17:05:32 tsutsui Exp $
 
-BLAKE2s (PC6001VX_4.3.0_src.tar.gz) = 2b452547efcd25af06cedbcf7b5b3f6bf158383845fa227a0bff88adfb891e99
-SHA512 (PC6001VX_4.3.0_src.tar.gz) = 63f41d494cb5c434eadbcc75d5ed1b1db8adb1c5d3c46d6d3775fdb69222e0b67ba254cb2b92aee521930d51431140da9d0651ab158df035ca2912b88bdbeb6f
-Size (PC6001VX_4.3.0_src.tar.gz) = 5991508 bytes
-SHA1 (patch-src_console.cpp) = f4bed6e9f4564bf50bd115b028c1511efdac8b2a
+BLAKE2s (PC6001VX_4.4.0_src.tar.gz) = 389e5d80b43ffc5b9d0a6a5b0abdab80074ed889405bd54d5a51feff098b153c
+SHA512 (PC6001VX_4.4.0_src.tar.gz) = afdb1091f1bc4e0cec54058c2a066be26c2f90d0f531788691aea0d069ef81ad93c57f064bf1b356bdbb2e7d6ce278db89ca7a958efe50b1288c353f2b98d0d2
+Size (PC6001VX_4.4.0_src.tar.gz) = 6030700 bytes
+SHA1 (patch-CMakeLists.txt) = e1489b404d3f83eba4a26db0d85b8a998f72ed25

Index: pkgsrc/emulators/PC6001VX/options.mk
diff -u pkgsrc/emulators/PC6001VX/options.mk:1.6 pkgsrc/emulators/PC6001VX/options.mk:1.7
--- pkgsrc/emulators/PC6001VX/options.mk:1.6	Tue Feb 25 17:01:32 2025
+++ pkgsrc/emulators/PC6001VX/options.mk	Fri Aug 14 17:05:32 2026
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.6 2025/02/25 17:01:32 tsutsui Exp $
+# $NetBSD: options.mk,v 1.7 2026/08/14 17:05:32 tsutsui Exp $
 
 PKG_OPTIONS_VAR=	PKG_OPTIONS.PC6001VX
 PKG_SUPPORTED_OPTIONS=	debug ffmpeg manual sdl2
@@ -19,19 +19,19 @@ PLIST_VARS+=		manual
 .include "../../mk/bsd.options.mk"
 
 .if empty(PKG_OPTIONS:Mdebug)
-QMAKE_ARGS+=	"DEFINES+=NOMONITOR"
+CMAKE_CONFIGURE_ARGS+=	-DNOMONITOR=ON
 .endif
 
 .if !empty(PKG_OPTIONS:Mffmpeg)
-.include "../../multimedia/ffmpeg7/buildlink3.mk"
+.include "../../multimedia/ffmpeg8/buildlink3.mk"
 .else
-QMAKE_ARGS+=	"DEFINES+=NOAVI"
+CMAKE_CONFIGURE_ARGS+=	-DNOAVI=ON
 .endif
 
 .if !empty(PKG_OPTIONS:Msdl2)
 .include "../../devel/SDL2/buildlink3.mk"
 .else
-QMAKE_ARGS+=	"DEFINES+=NOJOYSTICK"
+CMAKE_CONFIGURE_ARGS+=	-DNOJOYSTICK=ON
 .endif
 
 .if !empty(PKG_OPTIONS:Mmanual)

Added files:

Index: pkgsrc/emulators/PC6001VX/patches/patch-CMakeLists.txt
diff -u /dev/null pkgsrc/emulators/PC6001VX/patches/patch-CMakeLists.txt:1.1
--- /dev/null	Fri Aug 14 17:05:32 2026
+++ pkgsrc/emulators/PC6001VX/patches/patch-CMakeLists.txt	Fri Aug 14 17:05:32 2026
@@ -0,0 +1,139 @@
+$NetBSD: patch-CMakeLists.txt,v 1.1 2026/08/14 17:05:32 tsutsui Exp $
+
+- Make old qmake options also configurable by CMakefile
+  (XXX: needs more fixes for WIN32 target)
+
+--- CMakeLists.txt.orig	2026-08-14 10:43:36.000000000 +0000
++++ CMakeLists.txt
+@@ -2,6 +2,14 @@ cmake_minimum_required(VERSION 3.16)
+ 
+ project(PC6001VX VERSION 4.4.0 LANGUAGES CXX)
+ 
++# configurable options
++option(NOJOYSTICK "Disable joystick support" OFF)
++option(NOAVI "Disable video capture support" OFF)
++option(NOMONITOR "Disable debug monitor support" OFF)
++set(DELAY_TIMER_MS_DEFAULT 1 CACHE STRING
++    "Default timer resolution in milliseconds"
++)
++
+ if(WIN32)
+     set(CMAKE_FIND_PACKAGE_PREFER_STATIC_LIBS TRUE)
+     set(CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE ".a")
+@@ -339,8 +347,13 @@ target_include_directories(PC6001VX PRIV
+ target_compile_definitions(PC6001VX PRIVATE
+     QTP6VX
+     USEFILESYSTEM
++    DELAY_TIMER_MS_DEFAULT=${DELAY_TIMER_MS_DEFAULT}
+ )
+ 
++if(NOMONITOR)
++    target_compile_definitions(PC6001VX PRIVATE NOMONITOR)
++endif()
++
+ if(ANDROID)
+     set(PC6001VX_ANDROID_TARGET_SDK_VERSION "" CACHE STRING
+         "Override Android target SDK version")
+@@ -406,53 +419,61 @@ else()
+             target_link_libraries(PC6001VX PRIVATE ${X11_LIBRARIES})
+         endif()
+ 
+-        pkg_check_modules(SDL2 QUIET sdl2)
+-
+-        if(SDL2_FOUND)
+-            target_include_directories(PC6001VX PRIVATE ${SDL2_INCLUDE_DIRS})
+-            target_link_libraries(PC6001VX PRIVATE ${SDL2_LIBRARIES})
+-        else()
++        if(NOJOYSTICK)
+             target_compile_definitions(PC6001VX PRIVATE NOJOYSTICK)
++        else()
++            pkg_check_modules(SDL2 QUIET sdl2)
++
++            if(SDL2_FOUND)
++                target_include_directories(PC6001VX PRIVATE ${SDL2_INCLUDE_DIRS})
++                target_link_libraries(PC6001VX PRIVATE ${SDL2_LIBRARIES})
++            else()
++                target_compile_definitions(PC6001VX PRIVATE NOJOYSTICK)
++            endif()
+         endif()
+ 
+-        pkg_check_modules(LIBAVFORMAT QUIET libavformat)
+-        pkg_check_modules(LIBAVCODEC QUIET libavcodec)
+-        pkg_check_modules(LIBSWSCALE QUIET libswscale)
+-        pkg_check_modules(LIBSWRESAMPLE QUIET libswresample)
+-        pkg_check_modules(LIBAVUTIL QUIET libavutil)
+-
+-        if(LIBAVFORMAT_FOUND AND LIBAVCODEC_FOUND AND LIBSWSCALE_FOUND AND LIBSWRESAMPLE_FOUND AND LIBAVUTIL_FOUND)
+-            set(PC6001VX_FFMPEG_LIBRARY_DIRS
+-                ${LIBAVFORMAT_LIBRARY_DIRS}
+-                ${LIBAVCODEC_LIBRARY_DIRS}
+-                ${LIBSWSCALE_LIBRARY_DIRS}
+-                ${LIBSWRESAMPLE_LIBRARY_DIRS}
+-                ${LIBAVUTIL_LIBRARY_DIRS}
+-            )
+-            list(REMOVE_DUPLICATES PC6001VX_FFMPEG_LIBRARY_DIRS)
++        if(NOAVI)
++            target_compile_definitions(PC6001VX PRIVATE NOAVI)
++        else()
++            pkg_check_modules(LIBAVFORMAT QUIET libavformat)
++            pkg_check_modules(LIBAVCODEC QUIET libavcodec)
++            pkg_check_modules(LIBSWSCALE QUIET libswscale)
++            pkg_check_modules(LIBSWRESAMPLE QUIET libswresample)
++            pkg_check_modules(LIBAVUTIL QUIET libavutil)
++
++            if(LIBAVFORMAT_FOUND AND LIBAVCODEC_FOUND AND LIBSWSCALE_FOUND AND LIBSWRESAMPLE_FOUND AND LIBAVUTIL_FOUND)
++                set(PC6001VX_FFMPEG_LIBRARY_DIRS
++                    ${LIBAVFORMAT_LIBRARY_DIRS}
++                    ${LIBAVCODEC_LIBRARY_DIRS}
++                    ${LIBSWSCALE_LIBRARY_DIRS}
++                    ${LIBSWRESAMPLE_LIBRARY_DIRS}
++                    ${LIBAVUTIL_LIBRARY_DIRS}
++                )
++                list(REMOVE_DUPLICATES PC6001VX_FFMPEG_LIBRARY_DIRS)
+ 
+-            target_compile_definitions(PC6001VX PRIVATE __STDC_CONSTANT_MACROS __STDC_FORMAT_MACROS)
+-            target_include_directories(PC6001VX PRIVATE
+-                ${LIBAVFORMAT_INCLUDE_DIRS}
+-                ${LIBAVCODEC_INCLUDE_DIRS}
+-                ${LIBSWSCALE_INCLUDE_DIRS}
+-                ${LIBSWRESAMPLE_INCLUDE_DIRS}
+-                ${LIBAVUTIL_INCLUDE_DIRS}
+-            )
++                target_compile_definitions(PC6001VX PRIVATE __STDC_CONSTANT_MACROS __STDC_FORMAT_MACROS)
++                target_include_directories(PC6001VX PRIVATE
++                    ${LIBAVFORMAT_INCLUDE_DIRS}
++                    ${LIBAVCODEC_INCLUDE_DIRS}
++                    ${LIBSWSCALE_INCLUDE_DIRS}
++                    ${LIBSWRESAMPLE_INCLUDE_DIRS}
++                    ${LIBAVUTIL_INCLUDE_DIRS}
++                )
+ 
+-            if(PC6001VX_FFMPEG_LIBRARY_DIRS)
+-                target_link_directories(PC6001VX PRIVATE ${PC6001VX_FFMPEG_LIBRARY_DIRS})
+-            endif()
++                if(PC6001VX_FFMPEG_LIBRARY_DIRS)
++                    target_link_directories(PC6001VX PRIVATE ${PC6001VX_FFMPEG_LIBRARY_DIRS})
++                endif()
+ 
+-            target_link_libraries(PC6001VX PRIVATE
+-                ${LIBAVFORMAT_LIBRARIES}
+-                ${LIBAVCODEC_LIBRARIES}
+-                ${LIBSWSCALE_LIBRARIES}
+-                ${LIBSWRESAMPLE_LIBRARIES}
+-                ${LIBAVUTIL_LIBRARIES}
+-            )
+-        else()
+-            target_compile_definitions(PC6001VX PRIVATE NOAVI)
++                target_link_libraries(PC6001VX PRIVATE
++                    ${LIBAVFORMAT_LIBRARIES}
++                    ${LIBAVCODEC_LIBRARIES}
++                    ${LIBSWSCALE_LIBRARIES}
++                    ${LIBSWRESAMPLE_LIBRARIES}
++                    ${LIBAVUTIL_LIBRARIES}
++                )
++            else()
++                target_compile_definitions(PC6001VX PRIVATE NOAVI)
++            endif()
+         endif()
+     else()
+         target_compile_definitions(PC6001VX PRIVATE NOJOYSTICK NOAVI)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.