Sat Sep 24 08:46:23 2022 UTC ()
devilutionx: Avoid forcing static linkage against libstdc++

Avoid mixing PIE and non-PIE code on aarch64, which results in a build
failure


(nia)
diff -r1.21 -r1.22 pkgsrc/games/devilutionx/Makefile
diff -r1.12 -r1.13 pkgsrc/games/devilutionx/distinfo
diff -r0 -r1.3 pkgsrc/games/devilutionx/patches/patch-CMakeLists.txt

cvs diff -r1.21 -r1.22 pkgsrc/games/devilutionx/Makefile (expand / switch to unified diff)

--- pkgsrc/games/devilutionx/Makefile 2022/09/11 12:51:38 1.21
+++ pkgsrc/games/devilutionx/Makefile 2022/09/24 08:46:23 1.22
@@ -1,47 +1,51 @@ @@ -1,47 +1,51 @@
1# $NetBSD: Makefile,v 1.21 2022/09/11 12:51:38 wiz Exp $ 1# $NetBSD: Makefile,v 1.22 2022/09/24 08:46:23 nia Exp $
2 2
3DISTNAME= devilutionx-1.2.1 3DISTNAME= devilutionx-1.2.1
4PKGREVISION= 5 4PKGREVISION= 6
5CATEGORIES= games 5CATEGORIES= games
6MASTER_SITES= ${MASTER_SITE_GITHUB:=diasurgical/} 6MASTER_SITES= ${MASTER_SITE_GITHUB:=diasurgical/}
7GITHUB_PROJECT= devilutionX 7GITHUB_PROJECT= devilutionX
8 8
9MAINTAINER= nia@NetBSD.org 9MAINTAINER= nia@NetBSD.org
10HOMEPAGE= https://github.com/diasurgical/devilutionX 10HOMEPAGE= https://github.com/diasurgical/devilutionX
11COMMENT= Port of the RPG Diablo for modern operating systems 11COMMENT= Port of the RPG Diablo for modern operating systems
12LICENSE= unlicense 12LICENSE= unlicense
13 13
14WRKSRC= ${WRKDIR}/${GITHUB_PROJECT}-${PKGVERSION_NOREV} 14WRKSRC= ${WRKDIR}/${GITHUB_PROJECT}-${PKGVERSION_NOREV}
 15TOOL_DEPENDS= dos2unix-[0-9]*:../../converters/dos2unix
15 16
16USE_CMAKE= yes 17USE_CMAKE= yes
17USE_TOOLS+= pkg-config 18USE_TOOLS+= pkg-config
18USE_LANGUAGES= c c++ 19USE_LANGUAGES= c c++
19 20
20# std::make_unique, etc 21# std::make_unique, etc
21GCC_REQD+= 5 22GCC_REQD+= 5
22 23
23CONFIGURE_DIRS= build 24CONFIGURE_DIRS= build
24CMAKE_ARG_PATH= .. 25CMAKE_ARG_PATH= ..
25 26
26CMAKE_ARGS+= -DCMAKE_BUILD_TYPE="Release" 27CMAKE_ARGS+= -DCMAKE_BUILD_TYPE="Release"
27CMAKE_ARGS+= -DASAN=OFF -DUBSAN=OFF 28CMAKE_ARGS+= -DASAN=OFF -DUBSAN=OFF
28CMAKE_ARGS+= -DDEBUG=OFF 29CMAKE_ARGS+= -DDEBUG=OFF
29CMAKE_ARGS+= -DVERSION_NUM=${PKGVERSION_NOREV} 30CMAKE_ARGS+= -DVERSION_NUM=${PKGVERSION_NOREV}
30 31
31INSTALLATION_DIRS+= bin 32INSTALLATION_DIRS+= bin
32INSTALLATION_DIRS+= share/applications 33INSTALLATION_DIRS+= share/applications
33INSTALLATION_DIRS+= share/icons/hicolor/512x512/apps 34INSTALLATION_DIRS+= share/icons/hicolor/512x512/apps
34 35
 36pre-patch:
 37 dos2unix ${WRKSRC}/CMakeLists.txt
 38
35pre-configure: 39pre-configure:
36 ${MKDIR} -p ${WRKSRC}/build 40 ${MKDIR} -p ${WRKSRC}/build
37 41
38do-install: 42do-install:
39 ${INSTALL_PROGRAM} ${WRKSRC}/build/devilutionx ${DESTDIR}${PREFIX}/bin 43 ${INSTALL_PROGRAM} ${WRKSRC}/build/devilutionx ${DESTDIR}${PREFIX}/bin
40 ${INSTALL_DATA} ${FILESDIR}/devilutionx.desktop \ 44 ${INSTALL_DATA} ${FILESDIR}/devilutionx.desktop \
41 ${DESTDIR}${PREFIX}/share/applications 45 ${DESTDIR}${PREFIX}/share/applications
42 ${INSTALL_DATA} ${WRKSRC}/Packaging/resources/icon.png \ 46 ${INSTALL_DATA} ${WRKSRC}/Packaging/resources/icon.png \
43 ${DESTDIR}${PREFIX}/share/icons/hicolor/512x512/apps/devilutionx.png 47 ${DESTDIR}${PREFIX}/share/icons/hicolor/512x512/apps/devilutionx.png
44 48
45.include "../../audio/SDL2_mixer/buildlink3.mk" 49.include "../../audio/SDL2_mixer/buildlink3.mk"
46.include "../../devel/SDL2/buildlink3.mk" 50.include "../../devel/SDL2/buildlink3.mk"
47.include "../../fonts/SDL2_ttf/buildlink3.mk" 51.include "../../fonts/SDL2_ttf/buildlink3.mk"

cvs diff -r1.12 -r1.13 pkgsrc/games/devilutionx/distinfo (expand / switch to unified diff)

--- pkgsrc/games/devilutionx/distinfo 2021/10/26 10:43:53 1.12
+++ pkgsrc/games/devilutionx/distinfo 2022/09/24 08:46:23 1.13
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
1$NetBSD: distinfo,v 1.12 2021/10/26 10:43:53 nia Exp $ 1$NetBSD: distinfo,v 1.13 2022/09/24 08:46:23 nia Exp $
2 2
3BLAKE2s (devilutionx-1.2.1.tar.gz) = 38022f5b5025687f909001c7ea554ee2d6db1489bdd321fa1fac3749064f1168 3BLAKE2s (devilutionx-1.2.1.tar.gz) = 38022f5b5025687f909001c7ea554ee2d6db1489bdd321fa1fac3749064f1168
4SHA512 (devilutionx-1.2.1.tar.gz) = 9327b127d0ad22d640b1a13fad9bfa00ba0fc512dd7ed362a9e84a80278d84634cd039cba7c98f15425715b11a35dc6ac07d75c816c3cbc818e6ab8c4437cf18 4SHA512 (devilutionx-1.2.1.tar.gz) = 9327b127d0ad22d640b1a13fad9bfa00ba0fc512dd7ed362a9e84a80278d84634cd039cba7c98f15425715b11a35dc6ac07d75c816c3cbc818e6ab8c4437cf18
5Size (devilutionx-1.2.1.tar.gz) = 3573200 bytes 5Size (devilutionx-1.2.1.tar.gz) = 3573200 bytes
6SHA1 (patch-3rdParty_asio_include_asio_detail_impl_kqueue__reactor.ipp) = 1fdf31e70f72d4c4cadb76f64d06c3974e6f61d9 6SHA1 (patch-3rdParty_asio_include_asio_detail_impl_kqueue__reactor.ipp) = 1fdf31e70f72d4c4cadb76f64d06c3974e6f61d9
 7SHA1 (patch-CMakeLists.txt) = 473f486534fc6d286ae04fe0d85502ee7a67d078

File Added: pkgsrc/games/devilutionx/patches/patch-CMakeLists.txt
$NetBSD: patch-CMakeLists.txt,v 1.3 2022/09/24 08:46:23 nia Exp $

Do not force libstdc++ to be linked statically, creates problems
with PIE code.

--- CMakeLists.txt.orig	2022-09-24 08:40:00.299506879 +0000
+++ CMakeLists.txt
@@ -607,10 +607,6 @@ foreach(target devilution ${BIN_TARGET} 
   target_compile_definitions(${target} PRIVATE ${def_list})
 endforeach(target)
 
-if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND NOT HAIKU AND NOT VITA)
-  target_link_libraries(${BIN_TARGET} PUBLIC "$<$<NOT:$<CONFIG:Debug>>:-static-libgcc;-static-libstdc++>")
-endif()
-
 if(WIN32)
   target_link_libraries(${BIN_TARGET} PRIVATE wsock32 ws2_32 wininet)