惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
G
Google Developers Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
P
Proofpoint News Feed
V
Visual Studio Blog
爱范儿
爱范儿
The Cloudflare Blog
博客园 - 叶小钗
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
H
Help Net Security
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
量子位
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

PBS activity

Make capypdf a submodule (7f9465b6) · Commits · Inkscape / inkscape · GitLab Draft: Make capypdf a submodule to enable it in the PPA (!7987) · Merge requests · Inkscape / inkscape · GitLab a7a272aeb209d29b500adb09d575af1d89645ffe to f9f9d913e36b14250122d9bc43911b5bb84e958c · PBS / Inkscape · GitLab Make capypdf a submodule (12ee5f11) · Commits · Inkscape / inkscape · GitLab Commits · launchpad-staging · Inkscape / inkscape · GitLab Commits · unmeson · PBS / Inkscape · GitLab Objects can't be moved using arrows keys (#6226) · Issues · Inkscape / inkscape · GitLab Down, left, right arrow keys don't work to move objects (#13628) · Issues · Inkscape / Inbox · GitLab Down, left, right arrow keys don't work to move objects (#13628) · Issues · Inkscape / Inbox · GitLab Draft: Expand tests for boolean operations on paths (!7980) · Merge requests · Inkscape / inkscape · GitLab 1.5-dev: cannot create/open documents after closing window on macOS (#5981) · Issues · Inkscape / inkscape · GitLab Use new Modifiers system for the arc tool (!7961) · Merge requests · Inkscape / inkscape · GitLab Remove dependency on deprecated appdirs module (!730) · Merge requests · Inkscape / extensions · GitLab Commits · appdirs · PBS / extensions · GitLab 1.5-dev: Unable to open the Extension Manager (#6202) · Issues · Inkscape / inkscape · GitLab PBS pushed to project branch capypdf-static at PBS / Inkscape PBS pushed to project branch capypdf-static at PBS / Inkscape Make internal capypdf static (!7947) · Merge requests · Inkscape / inkscape · GitLab Shape builder tool does not detect the interior region (#4477) · Issues · Inkscape / inkscape · GitLab Make (most) tests build and run on Windows (!7940) · Merge requests · Inkscape / inkscape · GitLab Generate AppImage with quick-sharun (a465f4ce) · Commits · PBS / Inkscape · GitLab Commits · sharun · PBS / Inkscape · GitLab 1.5-dev: Split mode state is incorrect in the menu when opening a new document (#6135) · Issues · Inkscape / inkscape · GitLab PBS deleted project branch deadlock-win at PBS / Inkscape 1.5-dev: (Windows) Deadlock on quit, process not exiting sometimes (#6003) · Issues · Inkscape / inkscape · GitLab Fix dark mode on gtk 4.20 (!7932) · Merge requests · Inkscape / inkscape · GitLab Fix some resizing issues on Windows by not setting GTK_CSD (!7931) · Merge requests · Inkscape / inkscape · GitLab Draft: Fix AppImage crashing during save on older distros (!7922) · Merge requests · Inkscape / inkscape · GitLab 19086deebf770c8932b403ee536c8f8562a376f9 to 55362ef7d4c363d9613d70ac7194de7e8e323a34 · PBS / Inkscape · GitLab c74f78ca23ff302b7b59175490b870f1a616b778 to 19086deebf770c8932b403ee536c8f8562a376f9 · PBS / Inkscape · GitLab
Make internal capypdf static (7a095661) · Commits · PBS /...
PBS · 2026-02-06 · via PBS activity
Commit 7a095661 authored by PBS's avatar PBS
Browse files

Make internal capypdf static

* Simplifies packaging on distros that don't provide capypdf, since we
  no longer have to worry about where to install this vendored library.

  Consequently, capypdf can now be enabled in PPA builds.

* Removes a Windows-specific workaround from the test suite (098a53bd).

This requires bumping capypdf to 0.21.0.
Original line number Diff line number Diff line
@@ -95,11 +95,7 @@ option(WITH_PROFILING "Turn on profiling" OFF) # Set to true if compiler/linker
option(BUILD_SHARED_LIBS "Compile libraries as shared and not static" ON)

option(WITH_POPPLER "Compile with support of libpoppler" ON)
if(APPLE)
    option(WITH_CAPYPDF "Compile with support of libcapypdf" OFF)
else()
option(WITH_CAPYPDF "Compile with support of libcapypdf" ON)
endif()
option(ENABLE_POPPLER_CAIRO "Compile with support of libpoppler-cairo for rendering PDF preview (depends on WITH_POPPLER)" ON)
option(WITH_IMAGE_MAGICK "Compile with support of ImageMagick for raster extensions and image import resolution (requires ImageMagick 6; set to OFF if you prefer GraphicsMagick)" ON)
option(WITH_GRAPHICS_MAGICK "Compile with support of GraphicsMagick for raster extensions and image import resolution" ON)
Original line number Diff line number Diff line
@@ -193,39 +193,56 @@ if(NOT WITH_INTERNAL_ADAPTAGRAMS)
endif()

if(WITH_CAPYPDF)
  pkg_check_modules(CAPYPDF IMPORTED_TARGET capypdf>=0.18)
  pkg_check_modules(CAPYPDF IMPORTED_TARGET capypdf>=0.21)
  if(CAPYPDF_FOUND)
    add_library(Inkscape::CapyPDF ALIAS PkgConfig::CAPYPDF)
  else()
    if(APPLE)
      message(STATUS "New CMYK PDF exporter disabled on macOS")
    if(NOT DEFINED CAPYPDF_SUPPORTED)
      message(STATUS "Checking C++23 support for CapyPDF")
      try_compile(CAPYPDF_SUPPORTED
        SOURCE_FROM_CONTENT capypdf-support-check.cpp [[
          #include <version>
          #if defined(__cpp_lib_expected)
          #else
            #error
          #endif
          int main() {}
        ]]
        CXX_STANDARD 23
        CXX_STANDARD_REQUIRED TRUE
      )
    endif()
    if(NOT CAPYPDF_SUPPORTED)
      message(STATUS "New CMYK PDF exporter disabled due to lack of C++23 support")
      set(WITH_CAPYPDF OFF)
    else()
      set(CAPY_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/deps)
      set(CAPY_LIBDIR ${CAPY_PREFIX}/${CMAKE_INSTALL_LIBDIR})
      include(ExternalProject)
      ExternalProject_Add(capypdf
          URL https://github.com/jpakkane/capypdf/releases/download/0.18.0/capypdf-0.18.0.tar.xz
          URL_HASH SHA256=bda2c0cbbc60b461b1c5d64c50cdecfee6e90b3c9ee28d33212412771caaafd4
          URL https://github.com/jpakkane/capypdf/releases/download/0.21.0/capypdf-0.21.0.tar.xz
          URL_HASH SHA256=b269a7361252b737f47b744f5329ba63f29af5bd3c46acbf7d4a4e074661f8a1
          DOWNLOAD_EXTRACT_TIMESTAMP TRUE
          CONFIGURE_COMMAND meson setup . ../capypdf --libdir=${CAPY_LIBDIR} --prefix=${CAPY_PREFIX}
          PATCH_COMMAND sed -i -e "/subdir('benchmark')/d" -e "/subdir('test')/d" ../capypdf/meson.build
          CONFIGURE_COMMAND meson setup . ../capypdf --libdir=${CAPY_LIBDIR} --prefix=${CAPY_PREFIX} --buildtype release --default-library static
          BUILD_COMMAND meson compile
          INSTALL_COMMAND meson install
          INSTALL_BYPRODUCTS "${CAPY_LIBDIR}/libcapypdf.a"
      )
      add_library(CapyPDF_LIB INTERFACE)
      target_include_directories(CapyPDF_LIB INTERFACE "${CAPY_PREFIX}/include/capypdf-0")
      target_link_directories(CapyPDF_LIB INTERFACE "${CAPY_LIBDIR}")
      target_link_libraries(CapyPDF_LIB INTERFACE -lcapypdf)
      add_library(Inkscape::CapyPDF ALIAS CapyPDF_LIB)
      list(APPEND CMAKE_INSTALL_RPATH ${CAPY_LIBDIR})
      if(WIN32)
        # DLL needs to be copied for tests to run
        ExternalProject_Add_Step(capypdf copy-dll
            COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CAPY_PREFIX}/bin/libcapypdf-0.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/libcapypdf-0.dll"
            DEPENDEES install
            BYPRODUCTS "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/libcapypdf-0.dll"
        )
      endif()
      add_library(CapyPDF_LIB STATIC IMPORTED GLOBAL)
      set_target_properties(CapyPDF_LIB PROPERTIES IMPORTED_LOCATION "${CAPY_LIBDIR}/libcapypdf.a")
      find_package(PNG REQUIRED)
      find_package(JPEG REQUIRED)
      find_package(ZLIB REQUIRED)
      find_package(TIFF REQUIRED)
      find_package(Freetype REQUIRED)
      pkg_check_modules(CAPY_DEPS REQUIRED IMPORTED_TARGET lcms2)
      target_link_libraries(CapyPDF_LIB INTERFACE PNG::PNG JPEG::JPEG ZLIB::ZLIB TIFF::TIFF Freetype::Freetype PkgConfig::CAPY_DEPS)
      add_library(CapyPDF_LIB2 INTERFACE)
      target_link_libraries(CapyPDF_LIB2 INTERFACE CapyPDF_LIB)
      target_include_directories(CapyPDF_LIB2 INTERFACE "${CAPY_PREFIX}/include/capypdf-0")
      add_dependencies(CapyPDF_LIB2 capypdf)
      add_library(Inkscape::CapyPDF ALIAS CapyPDF_LIB2)
    endif()
  endif()
endif()
Original line number Diff line number Diff line
@@ -201,9 +201,6 @@ if(WIN32)
    install(FILES ${MAGICK_LIBS} DESTINATION bin)
  endif()

  if(WITH_CAPYPDF)
    install(FILES ${CAPY_PREFIX}/bin/libcapypdf-0.dll DESTINATION bin)
  endif()
  # Install hicolor/index.theme to avoid bug 1635207
  install(FILES
    ${MINGW_PATH}/share/icons/hicolor/index.theme
Original line number Diff line number Diff line
@@ -10,8 +10,7 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all

override_dh_auto_configure:
	dh_auto_configure -- \
	-DCMAKE_BUILD_TYPE=Release \
	-DWITH_CAPYPDF=OFF
	-DCMAKE_BUILD_TYPE=Release

override_dh_auto_test:
	export CTEST_OUTPUT_ON_FAILURE=1
Original line number Diff line number Diff line
@@ -328,12 +328,6 @@ endif()
set_target_properties(inkscape_base PROPERTIES SOVERSION "${INKSCAPE_VERSION_MAJOR}.${INKSCAPE_VERSION_MINOR}.${INKSCAPE_VERSION_PATCH}.0")
set_target_properties(inkscape_base PROPERTIES INSTALL_RPATH "${LIBINKSCAPE_INSTALL_RPATH}")

if(WITH_CAPYPDF)
  if(TARGET capypdf)
    add_dependencies(inkscape_base capypdf)
  endif()
endif()

# Link the inkscape_base library against all external dependencies
target_link_libraries(inkscape_base
    PRIVATE