aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libcap
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libcap
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libcap')
-rwxr-xr-xvcpkg/ports/libcap/configure51
-rw-r--r--vcpkg/ports/libcap/portfile.cmake33
-rw-r--r--vcpkg/ports/libcap/vcpkg.json23
3 files changed, 107 insertions, 0 deletions
diff --git a/vcpkg/ports/libcap/configure b/vcpkg/ports/libcap/configure
new file mode 100755
index 0000000..a4749cd
--- /dev/null
+++ b/vcpkg/ports/libcap/configure
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+set -e
+
+linkage=shared
+prefix=
+for OPTION; do
+ case "${OPTION}" in
+ --prefix=*)
+ prefix="${OPTION#--prefix=}"
+ ;;
+ --enable-static)
+ linkage=static
+ ;;
+ esac
+done
+
+cat > Makefile.vcpkg <<END_MAKEFILE ;
+
+BUILD_OPTIONS = \
+ "AR=$AR" \
+ "BUILD_CC=$CC" \
+ "CC=$CC" \
+ "OBJCOPY=$OBJCOPY" \
+ "RANLIB=$RANLIB" \
+ "lib=lib" \
+ "prefix=$prefix"
+
+ifeq ($linkage,shared)
+libs := libcap.so libpsx.so
+BUILD_OPTIONS += SHARED=yes
+else
+libs := libcap.a libpsx.a
+BUILD_OPTIONS += SHARED=no
+endif
+
+all: libcap/cap_names.h
+ \$(MAKE) -C libcap pcs \$(libs) \$(BUILD_OPTIONS)
+
+libcap/cap_names.h:
+ \$(MAKE) -C libcap cap_names.h \$(BUILD_OPTIONS)
+
+install: install-cap_names
+ \$(MAKE) -C libcap install-$linkage \$(BUILD_OPTIONS)
+
+install-cap_names:
+ mkdir -p -m 0755 "\$(DESTDIR)$prefix/include/sys/libcap-private"
+ install -m 0644 libcap/cap_names.h "\$(DESTDIR)$prefix/include/sys/libcap-private"
+ install -m 0644 libcap/cap_names.list.h "\$(DESTDIR)$prefix/include/sys/libcap-private"
+
+END_MAKEFILE
diff --git a/vcpkg/ports/libcap/portfile.cmake b/vcpkg/ports/libcap/portfile.cmake
new file mode 100644
index 0000000..875cfca
--- /dev/null
+++ b/vcpkg/ports/libcap/portfile.cmake
@@ -0,0 +1,33 @@
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-${VERSION}.tar.xz"
+ "https://www.mirrorservice.org/sites/ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-${VERSION}.tar.xz"
+ FILENAME "libcap-${VERSION}.tar.xz"
+ SHA512 8ab72cf39bf029656b2a4a5972a0da4ab4b46a3d8a8da66d6cde925e06fe34df2fa5fc4d0b62c9cec4972b0b2678fdac6ef9421b6fb83c2a5bf869cf8d5fdb16
+)
+
+vcpkg_extract_source_archive(SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/configure" DESTINATION "${SOURCE_PATH}")
+
+if(VCPKG_CROSSCOMPILING)
+ file(TOUCH "${SOURCE_PATH}/libcap/_makenames")
+ file(COPY "${CURRENT_HOST_INSTALLED_DIR}/include/sys/libcap-private/cap_names.list.h" DESTINATION "${SOURCE_PATH}/libcap/")
+ file(COPY "${CURRENT_HOST_INSTALLED_DIR}/include/sys/libcap-private/cap_names.h" DESTINATION "${SOURCE_PATH}/libcap/")
+ file(TOUCH "${SOURCE_PATH}/libcap/cap_names.h")
+endif()
+
+vcpkg_cmake_get_vars(cmake_vars_file)
+set(ENV{OBJCOPY} "${VCPKG_DETECTED_CMAKE_OBJCOPY}")
+
+vcpkg_make_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ COPY_SOURCE
+)
+vcpkg_make_install(MAKEFILE "Makefile.vcpkg")
+vcpkg_fixup_pkgconfig()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License")
diff --git a/vcpkg/ports/libcap/vcpkg.json b/vcpkg/ports/libcap/vcpkg.json
new file mode 100644
index 0000000..9264bb6
--- /dev/null
+++ b/vcpkg/ports/libcap/vcpkg.json
@@ -0,0 +1,23 @@
+{
+ "name": "libcap",
+ "version": "2.73",
+ "port-version": 1,
+ "description": "A library for getting and setting POSIX.1e (formerly POSIX 6) draft 15 capabilities.",
+ "homepage": "https://sites.google.com/site/fullycapable/",
+ "license": "BSD-3-Clause OR GPL-2.0-only",
+ "supports": "linux",
+ "dependencies": [
+ {
+ "name": "libcap",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-get-vars",
+ "host": true
+ },
+ {
+ "name": "vcpkg-make",
+ "host": true
+ }
+ ]
+}