From 905b72ff856e8a6df4be9a15b2b47d737b8e919b Mon Sep 17 00:00:00 2001 From: Funda Wang Date: Mon, 13 Oct 2025 13:28:25 +0800 Subject: [PATCH] use GNUInstallDirs for installation --- graphite-1.3.14-Use-GNUInstallDirs.patch | 72 +++++++++++++++++++++ graphite-1.3.14-doxygen-fix-file-list.patch | 36 +++++++++++ graphite2-1.2.0-cmakepath.patch | 9 --- graphite2.spec | 9 ++- 4 files changed, 115 insertions(+), 11 deletions(-) create mode 100644 graphite-1.3.14-Use-GNUInstallDirs.patch create mode 100644 graphite-1.3.14-doxygen-fix-file-list.patch delete mode 100644 graphite2-1.2.0-cmakepath.patch diff --git a/graphite-1.3.14-Use-GNUInstallDirs.patch b/graphite-1.3.14-Use-GNUInstallDirs.patch new file mode 100644 index 0000000..e292341 --- /dev/null +++ b/graphite-1.3.14-Use-GNUInstallDirs.patch @@ -0,0 +1,72 @@ +From 52290be058456e2d33d6c9234a05c6da2a85a5e7 Mon Sep 17 00:00:00 2001 +From: Funda Wang +Date: Fri, 22 Aug 2025 13:48:30 +0800 +Subject: [PATCH] Use GNUInstallDirs + +--- + CMakeLists.txt | 5 +++-- + src/CMakeLists.txt | 6 +++--- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7bf35bf..c483a0d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,6 +7,7 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) + if (NOT CMAKE_BUILD_TYPE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY VALUE Release) + endif() ++include(GNUInstallDirs) + + option(BUILD_SHARED_LIBS "Make library a shared library instead of static" ON) + +@@ -89,9 +90,9 @@ if (NOT GRAPHITE2_NFILEFACE) + endif() + + set(version 3.0.1) +-set(libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) ++set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) + set(includedir ${CMAKE_INSTALL_PREFIX}/include) + + configure_file(graphite2.pc.in graphite2.pc) + +-install(FILES ${PROJECT_BINARY_DIR}/graphite2.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig) ++install(FILES ${PROJECT_BINARY_DIR}/graphite2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index c5ae70a..012d84e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -31,6 +31,7 @@ set(GRAPHITE_VERSION ${GRAPHITE_API_CURRENT}.${GRAPHITE_API_REVISION}.${GRAPHITE + set(GRAPHITE_SO_VERSION ${GRAPHITE_API_CURRENT}) + + include(TestBigEndian) ++include(GNUInstallDirs) + + include_directories(${PROJECT_SOURCE_DIR}) + +@@ -131,7 +132,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + nolib_test(stdc++ $) + endif () + set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") ++ CREATE_LIBTOOL_FILE(graphite2 "/${CMAKE_INSTALL_LIBDIR}") + endif() + + if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") +@@ -146,7 +147,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + include(Graphite) + nolib_test(stdc++ $) + set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") ++ CREATE_LIBTOOL_FILE(graphite2 "/${CMAKE_INSTALL_LIBDIR}") + endif() + + if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") +@@ -155,5 +156,5 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + endif() + + +-install(TARGETS graphite2 EXPORT graphite2 LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX} PUBLIC_HEADER DESTINATION include/graphite2 RUNTIME DESTINATION bin) +-install(EXPORT graphite2 DESTINATION share/graphite2 NAMESPACE gr2_) ++install(TARGETS graphite2 EXPORT graphite2 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION include/graphite2 RUNTIME DESTINATION bin) ++install(EXPORT graphite2 DESTINATION ${CMAKE_INSTALL_LIBDIR}/graphite2 NAMESPACE gr2_) diff --git a/graphite-1.3.14-doxygen-fix-file-list.patch b/graphite-1.3.14-doxygen-fix-file-list.patch new file mode 100644 index 0000000..fadebbe --- /dev/null +++ b/graphite-1.3.14-doxygen-fix-file-list.patch @@ -0,0 +1,36 @@ +diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt +index e91d9e1..7b454a7 100644 +--- a/doc/CMakeLists.txt ++++ b/doc/CMakeLists.txt +@@ -9,9 +9,10 @@ find_program(LATEX pdflatex) + + set(DOC_DEPENDS) + if(A2X) ++ file(GLOB DOC_ASC_FILE_LIST {PROJECT_SOURCE_DIR}/[a-z]*.asc) + if(DBLATEX) + add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/manual.pdf +- DEPENDS ${PROJECT_SOURCE_DIR}/[a-z]*.asc ++ DEPENDS ${DOC_ASC_FILE_LIST} + COMMAND ${A2X} --icons -D ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/manual.asc) + add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/GTF.pdf + DEPENDS ${PROJECT_SOURCE_DIR}/GTF.asc +@@ -20,7 +21,7 @@ if(A2X) + set(DOC_DEPENDS ${PROJECT_BINARY_DIR}/manual.pdf ${PROJECT_BINARY_DIR}/GTF.pdf) + endif() + add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/manual.html +- DEPENDS ${PROJECT_SOURCE_DIR}/[a-z]*.asc ${PROJECT_SOURCE_DIR}/graphite.css ++ DEPENDS ${DOC_ASC_FILE_LIST} ${PROJECT_SOURCE_DIR}/graphite.css + COMMAND ${A2X} -f xhtml --stylesheet=graphite.css -D ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/manual.asc) + add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/GTF.html + DEPENDS ${PROJECT_SOURCE_DIR}/GTF.asc +@@ -31,8 +32,9 @@ if(A2X) + endif() + + if(DOXYGEN AND LATEX) ++ file(GLOB DOC_HEADER_FILE_LIST ${PROJECT_SOURCE_DIR}/../include/graphite2/*.h) + add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doxygen/latex/refman.pdf +- DEPENDS ${PROJECT_SOURCE_DIR}/../include/graphite2/*.h ++ DEPENDS ${DOC_HEADER_FILE_LIST} + MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/${GRAPHITE2_DOXYGEN_CONFIG}.cfg + COMMAND ${DOXYGEN} ${PROJECT_SOURCE_DIR}/${GRAPHITE2_DOXYGEN_CONFIG}.cfg + COMMAND make -C ${PROJECT_BINARY_DIR}/doxygen/latex) diff --git a/graphite2-1.2.0-cmakepath.patch b/graphite2-1.2.0-cmakepath.patch deleted file mode 100644 index ee71cd6..0000000 --- a/graphite2-1.2.0-cmakepath.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff -urN graphite2-1.2.0.orig/src/CMakeLists.txt graphite2-1.2.0/src/CMakeLists.txt ---- graphite2-1.2.0.orig/src/CMakeLists.txt 2013-01-29 15:47:32.465841769 +0530 -+++ graphite2-1.2.0/src/CMakeLists.txt 2013-01-29 15:48:24.056843352 +0530 -@@ -136,4 +136,4 @@ - - - install(TARGETS graphite2 EXPORT graphite2 LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX} PUBLIC_HEADER DESTINATION include/graphite2 RUNTIME DESTINATION bin) --install(EXPORT graphite2 DESTINATION share/graphite2 NAMESPACE gr2_) -+install(EXPORT graphite2 DESTINATION lib${LIB_SUFFIX}/graphite2 NAMESPACE gr2_) diff --git a/graphite2.spec b/graphite2.spec index b0e4510..31cfa8c 100644 --- a/graphite2.spec +++ b/graphite2.spec @@ -1,13 +1,14 @@ Name: graphite2 Version: 1.3.14 -Release: 9 +Release: 10 Summary: Graphite provides cross-platform rendering for complex writing systems License: LGPL-2.1-or-later OR MPL-2.0 OR GPL-2.0-or-later URL: https://sourceforge.net/projects/silgraphite/ Source0: https://github.com/silnrsi/graphite/archive/%{version}.tar.gz -Patch1: graphite2-1.2.0-cmakepath.patch Patch2: graphite-1.3.14-port-to-newer-cmake.patch +Patch3: graphite-1.3.14-Use-GNUInstallDirs.patch +Patch4: graphite-1.3.14-doxygen-fix-file-list.patch BuildRequires: gcc gcc-c++ cmake freetype-devel doxygen asciidoc python3-unversioned-command BuildRequires: texlive-helvetic texlive-sectsty texlive-tocloft texlive-xtab texlive-multirow python3-fonttools @@ -59,6 +60,10 @@ Header files for using the graphite2 libraries. %{_libdir}/%{name}/graphite2.cmake %changelog +* Fri Aug 22 2025 Funda Wang - 1.3.14-10 +- use GNUInstallDirs for installation +- fix doxygen file list for ninja + * Mon Mar 03 2025 Funda Wang - 1.3.14-9 - try build with cmake 4.0 -- Gitee