summaryrefslogtreecommitdiff
path: root/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs-deux.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-09-14 23:11:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-09-14 23:11:36 +0100
commit5bcf7bb4786021fc77303fae7934b17d525f9ad6 (patch)
treef8170834574db8e79d032c124f76fd052a787e0b /media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs-deux.patch
parent50878a9089d38edec91fb6a8035f9681695189b7 (diff)
gentoo auto-resync : 14:09:2022 - 23:11:36
Diffstat (limited to 'media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs-deux.patch')
-rw-r--r--media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs-deux.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs-deux.patch b/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs-deux.patch
new file mode 100644
index 000000000000..815301dd307b
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs-deux.patch
@@ -0,0 +1,61 @@
+https://bugs.gentoo.org/870034
+https://bugs.gentoo.org/829690
+https://raw.githubusercontent.com/chimera-linux/cports/6d3cabd18bac6f4caaea08eaa928840552711c0c/main/graphite2/patches/clang.patch
+
+From chimera patch:
+"Clang has -nostdlib++, which can be used more effectively than disabling
+all and then hardcoding linking against libgcc (which we do not have)"
+
+Obsoletes graphite2-1.3.14-fix-nodefaultlibs.patch whose description was:
+```
+See https://github.com/silnrsi/graphite/pull/44.
+
+Drop -nodefaultlibs:
+- graphite is written in C++ which makes avoiding libstdc++ (or libc++) a dubious
+ goal;
+- this ends up breaking e.g. x86/musl because we need to inject -lssp_nonshared,
+ but it wouldn't be surprising if it broke other exotic targets too.
+```
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -47,12 +47,12 @@ else (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ set_target_properties(graphite2-base PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions"
+ COMPILE_DEFINITIONS "GRAPHITE2_NTRACING"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ set_target_properties(graphite2-file PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions"
+ COMPILE_DEFINITIONS "GRAPHITE2_NTRACING${TELEMETRY}"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ endif()
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -105,7 +105,7 @@ set_target_properties(graphite2 PROPERTIES PUBLIC_HEADER "${GRAPHITE_HEADERS}"
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ set_target_properties(graphite2 PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86")
+ add_definitions(-mfpmath=sse -msse2)
+@@ -117,15 +117,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
+ add_definitions(-Wimplicit-fallthrough -Wshorten-64-to-32)
+ endif()
+- if (${CMAKE_CXX_COMPILER} MATCHES ".*mingw.*")
+- target_link_libraries(graphite2 kernel32 msvcr90 mingw32 gcc user32)
+- else (${CMAKE_CXX_COMPILER} MATCHES ".*mingw.*")
+- target_link_libraries(graphite2 c gcc_s)
+- endif()
+ include(Graphite)
+- if (BUILD_SHARED_LIBS)
+- nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
+- endif ()
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+ if (0)
+ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")