Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Oct 2020 10:55:02 +0000 (UTC)
From:      Rainer Hurling <rhurlin@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r552553 - in head/emulators/openmsx: . files
Message-ID:  <202010171055.09HAt2UC043357@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rhurlin
Date: Sat Oct 17 10:55:02 2020
New Revision: 552553
URL: https://svnweb.freebsd.org/changeset/ports/552553

Log:
  emulators/openmsx: Update to 16.0
  
  Changelog[1]:
  - Lots of new features and fixes
  - New version scheme (0.15.0 to 16.0)
  
  [1] https://raw.githubusercontent.com/openMSX/openMSX/RELEASE_16_0/doc/release-notes.txt
  
  Ports changes:
  - Update PORTVERSION
  - Remove BROKEN
  - Update distinfo
  - Add patches with FreeBSD gcc specific changes
  - Use secure URL in pkg-descr
  
  PR:		250399
  Submitted by:	Daniel Menelkir <menelkir@itroll.org> (maintainer)
  Approved by:	arrowd (mentor), tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D26825

Added:
  head/emulators/openmsx/files/
  head/emulators/openmsx/files/patch-src_utils_endian.hh   (contents, props changed)
  head/emulators/openmsx/files/patch-src_utils_sha1.cc   (contents, props changed)
  head/emulators/openmsx/files/patch-src_utils_tiger.cc   (contents, props changed)
Modified:
  head/emulators/openmsx/Makefile
  head/emulators/openmsx/distinfo
  head/emulators/openmsx/pkg-descr

Modified: head/emulators/openmsx/Makefile
==============================================================================
--- head/emulators/openmsx/Makefile	Sat Oct 17 09:41:36 2020	(r552552)
+++ head/emulators/openmsx/Makefile	Sat Oct 17 10:55:02 2020	(r552553)
@@ -1,8 +1,7 @@
 # $FreeBSD$
 
 PORTNAME=	openmsx
-PORTVERSION=	0.15.0
-PORTREVISION=	2
+PORTVERSION=	16.0
 CATEGORIES=	emulators
 
 MAINTAINER=	menelkir@itroll.org
@@ -11,8 +10,6 @@ COMMENT=	Open source MSX emulator
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/doc/GPL.txt
 
-BROKEN=		fails to build
-
 LIB_DEPENDS=	libpng.so:graphics/png \
 		libogg.so:audio/libogg \
 		libvorbis.so:audio/libvorbis \
@@ -29,7 +26,7 @@ USE_SDL=	sdl2 ttf2
 USE_GITHUB=	yes
 GH_ACCOUNT=	openMSX
 GH_PROJECT=	openMSX
-GH_TAGNAME=	0f2b558
+GH_TAGNAME=	a46a814
 
 BINARY_ALIAS=	python3=${PYTHON_CMD}
 

Modified: head/emulators/openmsx/distinfo
==============================================================================
--- head/emulators/openmsx/distinfo	Sat Oct 17 09:41:36 2020	(r552552)
+++ head/emulators/openmsx/distinfo	Sat Oct 17 10:55:02 2020	(r552553)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1588351340
-SHA256 (openMSX-openMSX-0.15.0-0f2b558_GH0.tar.gz) = 4be0852c3eed442771dc450ad5385a5b30c97927be543da91bd685e5484d560d
-SIZE (openMSX-openMSX-0.15.0-0f2b558_GH0.tar.gz) = 5589585
+TIMESTAMP = 1602852184
+SHA256 (openMSX-openMSX-16.0-a46a814_GH0.tar.gz) = 56d66cd7baa4e93febf36fba9ed3e0efa65fb2095432aa659c37e364c23852ac
+SIZE (openMSX-openMSX-16.0-a46a814_GH0.tar.gz) = 5605130

Added: head/emulators/openmsx/files/patch-src_utils_endian.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/openmsx/files/patch-src_utils_endian.hh	Sat Oct 17 10:55:02 2020	(r552553)
@@ -0,0 +1,88 @@
+--- src/utils/endian.hh.orig	2020-08-25 21:16:08 UTC
++++ src/utils/endian.hh
+@@ -9,23 +9,23 @@
+ namespace Endian {
+ 
+ // Reverse bytes in a 16-bit number: 0x1234 becomes 0x3412
+-[[nodiscard]] static inline uint16_t bswap16(uint16_t x)
++[[nodiscard]] static inline uint16_t byteswap16(uint16_t x)
+ {
+ 	// This sequence generates 'optimal' code on a wide range of gcc/clang
+ 	// versions (a single rotate instruction on x86). The newer compiler
+ 	// versions also do 'the right thing' for the simpler expression below.
+-	// Those newer compilers also support __builtin_bswap16() but that
++	// Those newer compilers also support __builtin_byteswap16() but that
+ 	// doesn't generate better code (and is less portable).
+ 	return ((x & 0x00FF) << 8) | ((x & 0xFF00) >> 8);
+ 	//return (x << 8) | (x >> 8);
+ }
+ 
+ // Reverse bytes in a 32-bit number: 0x12345678 becomes 0x78563412
+-[[nodiscard]] static inline uint32_t bswap32(uint32_t x)
++[[nodiscard]] static inline uint32_t byteswap32(uint32_t x)
+ {
+ #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))
+ 	// Starting from gcc-4.3 there's a builtin function for this.
+-	// E.g. on x86 this is translated to a single 'bswap' instruction.
++	// E.g. on x86 this is translated to a single 'byteswap' instruction.
+ 	return __builtin_bswap32(x);
+ #else
+ 	return  (x << 24)               |
+@@ -36,22 +36,22 @@ namespace Endian {
+ }
+ 
+ // Reverse bytes in a 64-bit value: 0x1122334455667788 becomes 0x8877665544332211
+-[[nodiscard]] static inline uint64_t bswap64(uint64_t x)
++[[nodiscard]] static inline uint64_t byteswap64(uint64_t x)
+ {
+ #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))
+ 	// Starting from gcc-4.3 there's a builtin function for this.
+-	// E.g. on x86 this is translated to a single 'bswap' instruction.
++	// E.g. on x86 this is translated to a single 'byteswap' instruction.
+ 	return __builtin_bswap64(x);
+ #else
+-	return (uint64_t(bswap32(x >>  0)) << 32) |
+-	       (uint64_t(bswap32(x >> 32)) <<  0);
++	return (uint64_t(byteswap32(x >>  0)) << 32) |
++	       (uint64_t(byteswap32(x >> 32)) <<  0);
+ #endif
+ }
+ 
+-// Use overloading to get a (statically) polymorphic bswap() function.
+-[[nodiscard]] static inline uint16_t bswap(uint16_t x) { return bswap16(x); }
+-[[nodiscard]] static inline uint32_t bswap(uint32_t x) { return bswap32(x); }
+-[[nodiscard]] static inline uint64_t bswap(uint64_t x) { return bswap64(x); }
++// Use overloading to get a (statically) polymorphic byteswap() function.
++[[nodiscard]] static inline uint16_t byteswap(uint16_t x) { return byteswap16(x); }
++[[nodiscard]] static inline uint32_t byteswap(uint32_t x) { return byteswap32(x); }
++[[nodiscard]] static inline uint64_t byteswap(uint64_t x) { return byteswap64(x); }
+ 
+ 
+ // Identity operator, simply returns the given value.
+@@ -61,7 +61,7 @@ struct Ident {
+ 
+ // Byte-swap operator, swap bytes in the given value (16 or 32 bit).
+ struct BSwap {
+-	template <typename T> [[nodiscard]] inline T operator()(T t) const { return bswap(t); }
++	template <typename T> [[nodiscard]] inline T operator()(T t) const { return byteswap(t); }
+ };
+ 
+ // Helper class that stores a value and allows to read/write that value. Though
+@@ -165,7 +165,7 @@ static inline void writeL32(void* p, uint32_t x)
+ 
+ template<bool SWAP, typename T> static ALWAYS_INLINE void write_UA(void* p, T x)
+ {
+-	if (SWAP) x = bswap(x);
++	if (SWAP) x = byteswap(x);
+ 	memcpy(p, &x, sizeof(x));
+ }
+ static ALWAYS_INLINE void write_UA_B16(void* p, uint16_t x)
+@@ -197,7 +197,7 @@ template<bool SWAP, typename T> [[nodiscard]] static A
+ {
+ 	T x;
+ 	memcpy(&x, p, sizeof(x));
+-	if (SWAP) x = bswap(x);
++	if (SWAP) x = byteswap(x);
+ 	return x;
+ }
+ [[nodiscard]] static ALWAYS_INLINE uint16_t read_UA_B16(const void* p)

Added: head/emulators/openmsx/files/patch-src_utils_sha1.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/openmsx/files/patch-src_utils_sha1.cc	Sat Oct 17 10:55:02 2020	(r552553)
@@ -0,0 +1,11 @@
+--- src/utils/sha1.cc.orig	2020-10-16 15:25:27 UTC
++++ src/utils/sha1.cc
+@@ -123,7 +123,7 @@ static inline __m128i _mm_cmple_epu8(__m128i a, __m128
+ // load 64-bit (possibly unaligned) and swap bytes
+ static inline uint64_t loadSwap64(const char* s)
+ {
+-	return Endian::bswap64(*reinterpret_cast<const uint64_t*>(s));
++	return Endian::byteswap64(*reinterpret_cast<const uint64_t*>(s));
+ }
+ 
+ #else

Added: head/emulators/openmsx/files/patch-src_utils_tiger.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/openmsx/files/patch-src_utils_tiger.cc	Sat Oct 17 10:55:02 2020	(r552553)
@@ -0,0 +1,15 @@
+--- src/utils/tiger.cc.orig	2020-10-16 15:12:50 UTC
++++ src/utils/tiger.cc
+@@ -662,9 +662,9 @@ static inline void initState(uint64_t state[3])
+ static inline void returnState(uint64_t state[3])
+ {
+ 	if (OPENMSX_BIGENDIAN) {
+-		state[0] = Endian::bswap64(state[0]);
+-		state[1] = Endian::bswap64(state[1]);
+-		state[2] = Endian::bswap64(state[2]);
++		state[0] = Endian::byteswap64(state[0]);
++		state[1] = Endian::byteswap64(state[1]);
++		state[2] = Endian::byteswap64(state[2]);
+ 	}
+ }
+ 

Modified: head/emulators/openmsx/pkg-descr
==============================================================================
--- head/emulators/openmsx/pkg-descr	Sat Oct 17 09:41:36 2020	(r552552)
+++ head/emulators/openmsx/pkg-descr	Sat Oct 17 10:55:02 2020	(r552553)
@@ -1,4 +1,4 @@
 OpenMSX, the open source MSX emulator that tries to achieve
 near-perfect emulation by using a novel emulation model.
 
-WWW: http://openmsx.org
+WWW: https://openmsx.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202010171055.09HAt2UC043357>