diff options
Diffstat (limited to 'vcpkg/ports/libcap')
| -rwxr-xr-x | vcpkg/ports/libcap/configure | 51 | ||||
| -rw-r--r-- | vcpkg/ports/libcap/portfile.cmake | 33 | ||||
| -rw-r--r-- | vcpkg/ports/libcap/vcpkg.json | 23 |
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 + } + ] +} |