mirror of
https://git.freebsd.org/ports.git
synced 2025-05-31 18:36:28 -04:00
emulators/qmc2: Prep-work for Qt 5.15; compatible with Qt 5.14
In Qt 5.15 an enumeration is introduced which has enumerators True and False, used like QCborSimpleType::False. In C++ that's 3 tokens, one name. The C Preprocessor deals with tokens, though, and since some headers #define False 0, we end up with tokens QCborSimpleType::0 instead, which is nonsense. The actual defines are only relevant in C code internals, not the API for lzma that is used from C++. So somewhat-hackishly just switch off the #defines when in C++ mode. The change is complicated by this *particular* source file being in DOS CRLF mode. Reported by: tcberner
This commit is contained in:
parent
4ea034dc85
commit
b01da5e68f
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=537158
2 changed files with 31 additions and 2 deletions
|
@ -3,7 +3,7 @@
|
|||
|
||||
PORTNAME= qmc2
|
||||
PORTVERSION= 0.195
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= emulators
|
||||
MASTER_SITES= SF
|
||||
|
||||
|
@ -17,7 +17,7 @@ OPTIONS_DEFINE= DOCS
|
|||
|
||||
NO_WRKSUBDIR= yes
|
||||
|
||||
USES= compiler:c++11-lang gl gmake qt:5 sdl tar:bzip2 xorg
|
||||
USES= compiler:c++11-lang dos2unix gl gmake qt:5 sdl tar:bzip2 xorg
|
||||
USE_XORG= x11 xmu
|
||||
USE_GL= gl glu
|
||||
USE_QT= buildtools_build core declarative gui multimedia \
|
||||
|
@ -40,6 +40,12 @@ DESKTOP_ENTRIES="QMC2" "MAME frontend" "${DATADIR}/img/mame.png" \
|
|||
"CHDMAN GUI" "Qt CHDMAN GUI" "${DATADIR}/img/qchdman.png" \
|
||||
"qchdman" "Game;Emulator;Qt;" "true" \
|
||||
|
||||
# This seems to be third-party, and has DOS line-endings. It also
|
||||
# needs to be patched because of a confusing build error: #define True 1
|
||||
# is a bad idea in C++ code that *also* uses True as an identifier
|
||||
# in some scopes.
|
||||
DOS2UNIX_FILES= qmc2/lzma/7zTypes.h
|
||||
|
||||
post-patch:
|
||||
@${CP} ${FILESDIR}/Makefile ${WRKSRC}
|
||||
@(cd ${WRKSRC}/qmc2/inst; ${SED} -e 's|DATADIR|${PREFIX}/share|' \
|
||||
|
|
23
emulators/qmc2/files/patch-qmc2_lzma_7zTypes.h
Normal file
23
emulators/qmc2/files/patch-qmc2_lzma_7zTypes.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
This avoids errors list the following, where True is a C++
|
||||
identifier used in scoped context; the #define eats it.
|
||||
|
||||
/usr/local/include/qt5/QtCore/qcborstreamreader.h:143:76: error: expected unqualified-id
|
||||
bool isFalse() const { return isSimpleType(QCborSimpleType::False); }
|
||||
^
|
||||
lzma/7zTypes.h:98:15: note: expanded from macro 'False'
|
||||
#define False 0
|
||||
|
||||
--- qmc2/lzma/7zTypes.h.orig 2020-05-30 14:14:41 UTC
|
||||
+++ qmc2/lzma/7zTypes.h
|
||||
@@ -94,8 +94,11 @@ typedef size_t SizeT;
|
||||
#endif
|
||||
|
||||
typedef int Bool_7z;
|
||||
+#ifndef __cplusplus
|
||||
+/* Only for library internals */
|
||||
#define True 1
|
||||
#define False 0
|
||||
+#endif
|
||||
|
||||
|
||||
#ifdef _WIN32
|
Loading…
Add table
Reference in a new issue