Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 0 additions & 87 deletions ports/pixman/CMakeLists.txt

This file was deleted.

4 changes: 2 additions & 2 deletions ports/pixman/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: pixman
Version: 0.38.4
Port-Version: 2
Version: 0.40.0
Homepage: https://www.cairographics.org/releases
Description: Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization.
Build-Depends: libpng, tool-meson
76 changes: 45 additions & 31 deletions ports/pixman/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,43 +1,57 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

set(PIXMAN_VERSION 0.38.4)
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Meson is not able to automatically export symbols for DLLs
endif()

if(VCPKG_TARGET_IS_UWP)
list(APPEND OPTIONS
-Dmmx=disabled
-Dsse2=disabled
-Dssse3=disabled)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(VCPKG_CXX_FLAGS "/arch:SSE2 ${VCPKG_CXX_FLAGS}")
set(VCPKG_C_FLAGS "/arch:SSE2 ${VCPKG_C_FLAGS}")
list(APPEND OPTIONS
-Dmmx=enabled
-Dsse2=enabled
-Dssse3=enabled)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
#x64 in general has all those intrinsics. (except for UWP for some reason)
list(APPEND OPTIONS
-Dmmx=enabled
-Dsse2=enabled
-Dssse3=enabled)
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
list(APPEND OPTIONS
#-Darm-simd=enabled does not work with arm64-windows
-Dmmx=disabled
-Dsse2=disabled
-Dssse3=disabled
)
endif()

set(PIXMAN_VERSION 0.40.0)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.cairographics.org/releases/pixman-${PIXMAN_VERSION}.tar.gz"
FILENAME "pixman-${PIXMAN_VERSION}.tar.gz"
SHA512 b66dc23c0bc7327cb90085cbc14ccf96ad58001a927f23af24e0258ca13f32d4255535862f1efcf00e9e723410aa9f51edf26fb01c8cde49379d1225acf7b5af
SHA512 063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${PIXMAN_VERSION}
PATCHES remove_test_demos.patch
)

file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/pixman)

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/pixman
PREFER_NINJA
)

vcpkg_install_cmake()

vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-pixman TARGET_PATH share/unofficial-pixman)

# Copy the appropriate header files.
file(COPY
"${SOURCE_PATH}/pixman/pixman.h"
"${SOURCE_PATH}/pixman/pixman-accessor.h"
"${SOURCE_PATH}/pixman/pixman-combine32.h"
"${SOURCE_PATH}/pixman/pixman-compiler.h"
"${SOURCE_PATH}/pixman/pixman-edge-imp.h"
"${SOURCE_PATH}/pixman/pixman-inlines.h"
"${SOURCE_PATH}/pixman/pixman-private.h"
"${SOURCE_PATH}/pixman/pixman-version.h"
DESTINATION ${CURRENT_PACKAGES_DIR}/include
# Meson install wrongly pkgconfig file!
vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS ${OPTIONS}
-Dlibpng=enabled
)
vcpkg_install_meson()
vcpkg_fixup_pkgconfig()

# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pixman)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/pixman/COPYING ${CURRENT_PACKAGES_DIR}/share/pixman/copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")

vcpkg_copy_pdbs()
# # Handle copyright
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
15 changes: 15 additions & 0 deletions ports/pixman/remove_test_demos.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
diff --git a/meson.build b/meson.build
index 1cec22728..fa6199ed0 100644
--- a/meson.build
+++ b/meson.build
@@ -528,8 +528,8 @@ version_conf.set('PIXMAN_VERSION_MICRO', split[2])
add_project_arguments('-DHAVE_CONFIG_H', language : ['c'])

subdir('pixman')
-subdir('test')
-subdir('demos')
+# subdir('test')
+# subdir('demos')

pkg = import('pkgconfig')
pkg.generate(
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -4517,8 +4517,8 @@
"port-version": 0
},
"pixman": {
"baseline": "0.38.4",
"port-version": 2
"baseline": "0.40.0",
"port-version": 0
},
"platform-folders": {
"baseline": "4.0.0",
Expand Down
5 changes: 5 additions & 0 deletions versions/p-/pixman.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "9ac4606b446e1469fad7e0f8917a45cbdd1de388",
"version-string": "0.40.0",
"port-version": 0
},
{
"git-tree": "3cb6610f632460553bb2ae5fe3838e15880dc7e2",
"version-string": "0.38.4",
Expand Down