diff --git a/ports/xcb-image/add_return_value.patch b/ports/xcb-image/add_return_value.patch new file mode 100644 index 00000000000000..5c3a1db0f3a861 --- /dev/null +++ b/ports/xcb-image/add_return_value.patch @@ -0,0 +1,13 @@ +diff --git a/image/xcb_bitops.h b/image/xcb_bitops.h +index a6872a1f3..bf6fdc179 100644 +--- a/image/xcb_bitops.h ++++ b/image/xcb_bitops.h +@@ -207,6 +207,8 @@ xcb_host_byte_order(void) { + return XCB_IMAGE_ORDER_LSB_FIRST; + } + assert(0); ++ exit(EXIT_FAILURE); ++ return -1; + } + + #endif /* __XCB_BITOPS_H__ */ diff --git a/ports/xcb-image/portfile.cmake b/ports/xcb-image/portfile.cmake new file mode 100644 index 00000000000000..2e612e547dc747 --- /dev/null +++ b/ports/xcb-image/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-image + REF 525ce59fe2329d4b23fc0c52ed9dd92daac8ac2a #v 0.4.1 + SHA512 e91471c45983bb3a56fb96a9ab627a5b65fcbc21424f62bed10dba283c97fdd6475d4f380d268a30a99b6544bc804f8263e7b945a4c4d22c79535e3c3b1e10db + HEAD_REF master + PATCHES add_return_value.patch +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-image/vcpkg.json b/ports/xcb-image/vcpkg.json new file mode 100644 index 00000000000000..299921b12f4791 --- /dev/null +++ b/ports/xcb-image/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "xcb-image", + "version": "0.4.1", + "description": "XCB port of Xlib's XImage and XShmImage functions.", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "xcb", + "xcb-util" + ] +} diff --git a/ports/xcb-keysyms/portfile.cmake b/ports/xcb-keysyms/portfile.cmake new file mode 100644 index 00000000000000..a624dac0f87d54 --- /dev/null +++ b/ports/xcb-keysyms/portfile.cmake @@ -0,0 +1,29 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-keysyms + REF 85e093f14b0ade2956e0a5d1c37cfde06d8b1ba6 #v 0.4.1 + SHA512 cee1224ba673c637d20387d22d445be92970dd1b169247550befe64908e1b7f8cc4311018b7e7854e46ccaa62b8c6258293dcb144a94e320bee5a1e060b194f1 + HEAD_REF master +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-keysyms/vcpkg.json b/ports/xcb-keysyms/vcpkg.json new file mode 100644 index 00000000000000..a5eb8ac91de1e1 --- /dev/null +++ b/ports/xcb-keysyms/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "xcb-keysyms", + "version": "0.4.1", + "description": "Standard X key constants and conversion to/from keycodes", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "bzip2", + "xcb", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/xcb-render-util/portfile.cmake b/ports/xcb-render-util/portfile.cmake index 2bad743750fc39..c15e8e8442c04a 100644 --- a/ports/xcb-render-util/portfile.cmake +++ b/ports/xcb-render-util/portfile.cmake @@ -7,8 +7,8 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org/xorg OUT_SOURCE_PATH SOURCE_PATH REPO lib/libxcb-render-util - REF 0317caf63de532fd7a0493ed6afa871a67253747 #v 0.3.9 - SHA512 9a16c3eb3575586fce85a548cb5fd8b23aa8e42363b2c6d4e074e45f5c04089301ef2ff3012cf9cc94490359d4e28ff062feaecb97a880c9240bf7dbe5d03612 + REF 5293d8b6165f23b9f7a8bcc903da0e4d7a75984c #v 0.3.10 + SHA512 ecd1876b62c1345ce3c06ac525f1af4f59dcce3c8d76003c59dd64c80f7787d6d2754c481e585507d6bcaf443026a7aa22ab9eac28b5153eff78d216e53eb29f HEAD_REF master # branch name PATCHES pthread.patch # required since this port directly depends on pthread functions. So it has to directly link it! ) diff --git a/ports/xcb-render-util/vcpkg.json b/ports/xcb-render-util/vcpkg.json index 8c3d47baca0d2e..31fec040242174 100644 --- a/ports/xcb-render-util/vcpkg.json +++ b/ports/xcb-render-util/vcpkg.json @@ -1,6 +1,6 @@ { "name": "xcb-render-util", - "version": "0.3.9", + "version": "0.3.10", "description": "XCB convenience functions for the Render extension.", "homepage": "https://xcb.freedesktop.org/", "license": null, diff --git a/ports/xcb-util-errors/fix_python.patch b/ports/xcb-util-errors/fix_python.patch new file mode 100644 index 00000000000000..e6cba0939bb9d7 --- /dev/null +++ b/ports/xcb-util-errors/fix_python.patch @@ -0,0 +1,20 @@ +diff --git a/src/extensions.py b/src/extensions.py +index 94d7d57fe..022d4003e 100644 +--- a/src/extensions.py ++++ b/src/extensions.py +@@ -1,5 +1,6 @@ + #!/usr/bin/env python + import sys ++import glob + from xml.etree.cElementTree import parse + + class Module(object): +@@ -83,7 +84,7 @@ def parseFile(filename): + + # Parse the xml file + output_file = sys.argv[1] +-for input_file in sys.argv[2:]: ++for input_file in glob.glob(sys.argv[2]): + parseFile(input_file) + + assert xproto != None diff --git a/ports/xcb-util-errors/portfile.cmake b/ports/xcb-util-errors/portfile.cmake new file mode 100644 index 00000000000000..516cf6090db21c --- /dev/null +++ b/ports/xcb-util-errors/portfile.cmake @@ -0,0 +1,40 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +if(VCPKG_TARGET_IS_WINDOWS) + set(PATCHES fix_python.patch) +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-errors + REF 517dd82c079de762a7426f20166a44f11e8d38c5 #1.0.1 + SHA512 391f6bc9452bf4d6a3f1fa69232cdbef43f9fcd339b8d1965132a3b227ed7ebcbaad553fe64d42bc525811caedf3ff9d5bec108f6ac2efd5a014f75fb35cbf85 + HEAD_REF master + PATCHES ${PATCHES} +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + COPY_SOURCE +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() + diff --git a/ports/xcb-util-errors/vcpkg.json b/ports/xcb-util-errors/vcpkg.json new file mode 100644 index 00000000000000..8202f6fcefb36f --- /dev/null +++ b/ports/xcb-util-errors/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "xcb-util-errors", + "version": "1.0.1", + "description": "XCB utility library that gives human readable names to error, event, & request codes.", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "xcb", + "xcb-util" + ] +} diff --git a/ports/xcb-util-wm/build.patch b/ports/xcb-util-wm/build.patch new file mode 100644 index 00000000000000..1b72f5bf55e8f4 --- /dev/null +++ b/ports/xcb-util-wm/build.patch @@ -0,0 +1,51 @@ +diff --git a/ewmh/ewmh.c.m4 b/ewmh/ewmh.c.m4 +index b986105f6..a0ce37c2a 100644 +--- a/ewmh/ewmh.c.m4 ++++ b/ewmh/ewmh.c.m4 +@@ -45,7 +45,7 @@ + + #include + +-#define ssizeof(foo) (ssize_t)sizeof(foo) ++#define ssizeof(foo) (ptrdiff_t)sizeof(foo) + #define countof(foo) (ssizeof(foo) / ssizeof(foo[0])) + + /** +@@ -1119,12 +1119,13 @@ xcb_ewmh_append_wm_icon_checked(xcb_ewmh_connection_t *ewmh, + uint32_t img_len, uint32_t *img) + { + const uint32_t data_len = img_len + 2; +- uint32_t data[data_len]; ++ uint32_t *data = (uint32_t*)malloc(data_len*sizeof(uint32_t)); + +- set_wm_icon_data(data, width, height, img_len, img); +- +- return xcb_ewmh_set_wm_icon_checked(ewmh, XCB_PROP_MODE_APPEND, window, +- data_len, data); ++ set_wm_icon_data(data, width, height, img_len, img); ++ const xcb_void_cookie_t res = xcb_ewmh_set_wm_icon_checked(ewmh, XCB_PROP_MODE_APPEND, window, ++ data_len, data); ++ free(data); ++ return res; + } + + xcb_void_cookie_t +@@ -1134,12 +1135,13 @@ xcb_ewmh_append_wm_icon(xcb_ewmh_connection_t *ewmh, + uint32_t img_len, uint32_t *img) + { + const uint32_t data_len = img_len + 2; +- uint32_t data[data_len]; +- +- set_wm_icon_data(data, width, height, img_len, img); ++ uint32_t *data = (uint32_t*)malloc(data_len*sizeof(uint32_t)); + +- return xcb_ewmh_set_wm_icon(ewmh, XCB_PROP_MODE_APPEND, window, +- data_len, data); ++ set_wm_icon_data(data, width, height, img_len, img); ++ const xcb_void_cookie_t res = xcb_ewmh_set_wm_icon(ewmh, XCB_PROP_MODE_APPEND, window, ++ data_len, data); ++ free(data); ++ return res; + } + + DO_GET_PROPERTY(wm_icon, _NET_WM_ICON, XCB_ATOM_CARDINAL, UINT_MAX) diff --git a/ports/xcb-util-wm/portfile.cmake b/ports/xcb-util-wm/portfile.cmake new file mode 100644 index 00000000000000..c097f2afc20e9e --- /dev/null +++ b/ports/xcb-util-wm/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-wm + REF 0c6681e465c9cc7b1fbb60778ba1eaa61ab01a14 #v 0.4.2 + SHA512 6af514465eaa98d5417de352bd3e4f3880180f886dc1202c64496cb5a07c82c377afeb9396acf57e20caa73e858fe7e6309f3ed7a74e88eb58e1da1f31ac0bd8 + HEAD_REF master + PATCHES build.patch +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-util-wm/vcpkg.json b/ports/xcb-util-wm/vcpkg.json new file mode 100644 index 00000000000000..2d264d52788ec7 --- /dev/null +++ b/ports/xcb-util-wm/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "xcb-util-wm", + "version": "0.4.2", + "description": "XCB client and window-manager helpers for ICCCM & EWMH.", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxcb-wm/", + "license": null, + "dependencies": [ + "bzip2", + "xcb", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/xcb-util/portfile.cmake b/ports/xcb-util/portfile.cmake new file mode 100644 index 00000000000000..f7070a4ff1ef1a --- /dev/null +++ b/ports/xcb-util/portfile.cmake @@ -0,0 +1,31 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-util + REF acf790d7752f36e450d476ad79807d4012ec863b #v0.4.0 + SHA512 d1ef49c1e16b7643a7afeca1495a96ab9ab9c537ea7669a13b3adda400a204626714afc8ed7fcc3d7532ebe1f89a3aa31e3ca0ee9617330d4df5b65b0c8e6dbc + HEAD_REF master + PATCHES ssize.patch +) + +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-util/ssize.patch b/ports/xcb-util/ssize.patch new file mode 100644 index 00000000000000..3b327133ea8fb7 --- /dev/null +++ b/ports/xcb-util/ssize.patch @@ -0,0 +1,15 @@ +diff --git a/src/event.c b/src/event.c +index 88058c4e7..3bc0d635f 100644 +--- a/src/event.c ++++ b/src/event.c +@@ -38,6 +38,10 @@ + + #include + ++#if !defined ssize_t && defined(_WIN32) ++ #define ssize_t ptrdiff_t ++#endif ++ + #define ssizeof(foo) (ssize_t)sizeof(foo) + #define countof(foo) (ssizeof(foo) / ssizeof(foo[0])) + diff --git a/ports/xcb-util/vcpkg.json b/ports/xcb-util/vcpkg.json new file mode 100644 index 00000000000000..5ed3da56bea562 --- /dev/null +++ b/ports/xcb-util/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "xcb-util", + "version": "0.4.0", + "description": "C interface to the X Window System protocol, which replaces the traditional Xlib interface.", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "xcb", + "xcb-util-m4", + "xorg-macros" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 1253640e6e011e..6e8052d5dc1336 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -8016,18 +8016,38 @@ "baseline": "1.14", "port-version": 0 }, + "xcb-image": { + "baseline": "0.4.1", + "port-version": 0 + }, + "xcb-keysyms": { + "baseline": "0.4.1", + "port-version": 0 + }, "xcb-proto": { "baseline": "1.14.1", "port-version": 0 }, "xcb-render-util": { - "baseline": "0.3.9", + "baseline": "0.3.10", + "port-version": 0 + }, + "xcb-util": { + "baseline": "0.4.0", + "port-version": 0 + }, + "xcb-util-errors": { + "baseline": "1.0.1", "port-version": 0 }, "xcb-util-m4": { "baseline": "2022-01-24", "port-version": 0 }, + "xcb-util-wm": { + "baseline": "0.4.2", + "port-version": 0 + }, "xerces-c": { "baseline": "3.2.3", "port-version": 4 diff --git a/versions/x-/xcb-image.json b/versions/x-/xcb-image.json new file mode 100644 index 00000000000000..4e67e364fe7644 --- /dev/null +++ b/versions/x-/xcb-image.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b58e6a2e9c723399f786bf4c53ec133baaf3abf2", + "version": "0.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-keysyms.json b/versions/x-/xcb-keysyms.json new file mode 100644 index 00000000000000..a74a1e51fabe29 --- /dev/null +++ b/versions/x-/xcb-keysyms.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3cfe91d00cc0022de24c02a2355502d2b9392dd0", + "version": "0.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-render-util.json b/versions/x-/xcb-render-util.json index b14709327f49fa..b53608c8600001 100644 --- a/versions/x-/xcb-render-util.json +++ b/versions/x-/xcb-render-util.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "630a72ed63679891d45f81a2d323aff929984217", + "version": "0.3.10", + "port-version": 0 + }, { "git-tree": "c33cb9ea07d2bd0e8662ad5d8a1368aae2144da2", "version": "0.3.9", diff --git a/versions/x-/xcb-util-errors.json b/versions/x-/xcb-util-errors.json new file mode 100644 index 00000000000000..fc7319e54a9667 --- /dev/null +++ b/versions/x-/xcb-util-errors.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b4f1619f7e94fe694b69d8021d6864e0d0369ce8", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-util-wm.json b/versions/x-/xcb-util-wm.json new file mode 100644 index 00000000000000..30b0940738e63d --- /dev/null +++ b/versions/x-/xcb-util-wm.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "da4d2d3ad49ae54dbeacc5e99c3700cdce16d9bb", + "version": "0.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-util.json b/versions/x-/xcb-util.json new file mode 100644 index 00000000000000..2311be8cf0388d --- /dev/null +++ b/versions/x-/xcb-util.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d5b50a3e395fcee958321601e06a2cfcbc75d925", + "version": "0.4.0", + "port-version": 0 + } + ] +}