[krb5, curl] Add new port, and add new feature curl[gssapi] (#38402)
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [x] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [x] The versioning scheme in `vcpkg.json` matches what upstream says.
- [x] The license declaration in `vcpkg.json` matches what upstream
says.
- [x] The installed as the "copyright" file matches what upstream says.
- [x] The source code of the component installed comes from an
authoritative source.
- [x] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is in the new port's versions file.
- [x] Only one version is added to each modified port's versions file.
krb5 have an issue of absolute paths that I am not sure how to fix, also
I didn't succeeded to compile it on windows, but this PR is a good
start.
```
warning: There should be no absolute paths, such as the following, in an installed package:
/home/tal/vcpkg/packages/krb5_x64-linux
/home/tal/vcpkg/installed
/home/tal/vcpkg/buildtrees/krb5
/home/tal/vcpkg/downloads
Absolute paths were found in the following files:
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/krb5-config
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/krb5-config
error: Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: /home/tal/vcpkg/ports/krb5/portfile.cmake
```
2024-05-07 03:59:50 +08:00
|
|
|
|
2024-05-23 14:57:12 +08:00
|
|
|
vcpkg_from_github(
|
|
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
|
|
REPO krb5/krb5
|
|
|
|
REF krb5-${VERSION}-final
|
|
|
|
SHA512 184ef8645d7e17f30a8e3d4005364424d2095b3d0c96f26ecef0c2dd2f3a096a0dd40558ed113121483717e44f6af41e71be0e5e079c76a205535d0c11a2ea34
|
|
|
|
HEAD_REF master
|
[krb5, curl] Add new port, and add new feature curl[gssapi] (#38402)
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [x] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [x] The versioning scheme in `vcpkg.json` matches what upstream says.
- [x] The license declaration in `vcpkg.json` matches what upstream
says.
- [x] The installed as the "copyright" file matches what upstream says.
- [x] The source code of the component installed comes from an
authoritative source.
- [x] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is in the new port's versions file.
- [x] Only one version is added to each modified port's versions file.
krb5 have an issue of absolute paths that I am not sure how to fix, also
I didn't succeeded to compile it on windows, but this PR is a good
start.
```
warning: There should be no absolute paths, such as the following, in an installed package:
/home/tal/vcpkg/packages/krb5_x64-linux
/home/tal/vcpkg/installed
/home/tal/vcpkg/buildtrees/krb5
/home/tal/vcpkg/downloads
Absolute paths were found in the following files:
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/krb5-config
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/krb5-config
error: Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: /home/tal/vcpkg/ports/krb5/portfile.cmake
```
2024-05-07 03:59:50 +08:00
|
|
|
)
|
|
|
|
|
2024-05-23 14:57:12 +08:00
|
|
|
if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
|
|
|
vcpkg_acquire_msys(MSYS_ROOT PACKAGES)
|
|
|
|
vcpkg_add_to_path("${MSYS_ROOT}/usr/bin")
|
|
|
|
vcpkg_find_acquire_program(PERL)
|
|
|
|
get_filename_component(PERL_PATH "${PERL}" DIRECTORY)
|
|
|
|
vcpkg_add_to_path("${PERL_PATH}")
|
|
|
|
vcpkg_build_nmake(
|
|
|
|
SOURCE_PATH "${SOURCE_PATH}/src"
|
|
|
|
PROJECT_NAME Makefile.in
|
|
|
|
TARGET prep-windows
|
|
|
|
)
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}")
|
|
|
|
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}")
|
|
|
|
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug")
|
|
|
|
vcpkg_install_nmake(
|
|
|
|
SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}"
|
|
|
|
PROJECT_NAME "Makefile"
|
|
|
|
OPTIONS
|
|
|
|
"NO_LEASH=1"
|
|
|
|
OPTIONS_RELEASE
|
|
|
|
"KRB_INSTALL_DIR=${CURRENT_PACKAGES_DIR}"
|
|
|
|
OPTIONS_DEBUG
|
|
|
|
"KRB_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/debug"
|
|
|
|
)
|
|
|
|
set(tools
|
|
|
|
ccapiserver
|
|
|
|
gss-client
|
|
|
|
gss-server
|
|
|
|
kcpytkt
|
|
|
|
kdeltkt
|
|
|
|
kdestroy
|
|
|
|
kfwcpcc
|
|
|
|
kinit
|
|
|
|
klist
|
|
|
|
kpasswd
|
|
|
|
kswitch
|
|
|
|
kvno
|
|
|
|
mit2ms
|
|
|
|
ms2mit
|
|
|
|
)
|
|
|
|
vcpkg_copy_tools(
|
|
|
|
TOOL_NAMES ${tools}
|
|
|
|
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin"
|
|
|
|
AUTO_CLEAN
|
|
|
|
)
|
|
|
|
foreach(tool_name ${tools})
|
|
|
|
list(APPEND debug_tools_to_remove "${CURRENT_PACKAGES_DIR}/debug/bin/${tool_name}${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
|
|
|
|
endforeach()
|
|
|
|
file(REMOVE ${debug_tools_to_remove})
|
|
|
|
|
|
|
|
set(WINDOWS_PC_FILES
|
|
|
|
krb5-gssapi
|
|
|
|
krb5
|
|
|
|
mit-krb5-gssapi
|
|
|
|
mit-krb5
|
|
|
|
)
|
[krb5, curl] Add new port, and add new feature curl[gssapi] (#38402)
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [x] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [x] The versioning scheme in `vcpkg.json` matches what upstream says.
- [x] The license declaration in `vcpkg.json` matches what upstream
says.
- [x] The installed as the "copyright" file matches what upstream says.
- [x] The source code of the component installed comes from an
authoritative source.
- [x] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is in the new port's versions file.
- [x] Only one version is added to each modified port's versions file.
krb5 have an issue of absolute paths that I am not sure how to fix, also
I didn't succeeded to compile it on windows, but this PR is a good
start.
```
warning: There should be no absolute paths, such as the following, in an installed package:
/home/tal/vcpkg/packages/krb5_x64-linux
/home/tal/vcpkg/installed
/home/tal/vcpkg/buildtrees/krb5
/home/tal/vcpkg/downloads
Absolute paths were found in the following files:
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/krb5-config
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/krb5-config
error: Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: /home/tal/vcpkg/ports/krb5/portfile.cmake
```
2024-05-07 03:59:50 +08:00
|
|
|
|
2024-05-23 14:57:12 +08:00
|
|
|
foreach (PC_FILE ${WINDOWS_PC_FILES})
|
|
|
|
configure_file("${CURRENT_PORT_DIR}/windows_pc_files/${PC_FILE}.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${PC_FILE}.pc" @ONLY)
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
if(NOT DEFINED VCPKG_BUILD_TYPE)
|
|
|
|
foreach (PC_FILE ${WINDOWS_PC_FILES})
|
|
|
|
configure_file("${CURRENT_PORT_DIR}/windows_pc_files/${PC_FILE}.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${PC_FILE}.pc" @ONLY)
|
|
|
|
endforeach()
|
|
|
|
endif()
|
|
|
|
else()
|
2024-05-31 01:31:59 +08:00
|
|
|
if(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
|
|
|
vcpkg_replace_string("${SOURCE_PATH}/src/build-tools/mit-krb5.pc.in" "@COM_ERR_LIB@" "@COM_ERR_LIB@ -framework Kerberos")
|
|
|
|
set(OPTIONS_OSX "LDFLAGS=-framework Kerberos \$LDFLAGS")
|
|
|
|
endif()
|
2024-05-23 14:57:12 +08:00
|
|
|
vcpkg_configure_make(
|
|
|
|
SOURCE_PATH "${SOURCE_PATH}/src"
|
|
|
|
AUTOCONFIG
|
|
|
|
OPTIONS
|
|
|
|
"CFLAGS=-fcommon \$CFLAGS"
|
2024-05-31 01:31:59 +08:00
|
|
|
${OPTIONS_OSX}
|
2024-05-23 14:57:12 +08:00
|
|
|
)
|
|
|
|
vcpkg_install_make()
|
2024-05-29 16:56:13 +08:00
|
|
|
|
|
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/krb5-config" "${CURRENT_INSTALLED_DIR}" [[$(cd "$(dirname "$0")/../../.."; pwd -P)]])
|
|
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/compile_et" "${CURRENT_INSTALLED_DIR}" [[$(cd "$(dirname "$0")/../../.."; pwd -P)]])
|
|
|
|
if(NOT VCPKG_BUILD_TYPE)
|
|
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/krb5-config" "${CURRENT_INSTALLED_DIR}" [[$(cd "$(dirname "$0")/../../../.."; pwd -P)]])
|
|
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/compile_et" "${CURRENT_INSTALLED_DIR}" [[$(cd "$(dirname "$0")/../../../.."; pwd -P)]])
|
|
|
|
endif()
|
2024-05-23 14:57:12 +08:00
|
|
|
endif()
|
2024-05-29 16:56:13 +08:00
|
|
|
|
[krb5, curl] Add new port, and add new feature curl[gssapi] (#38402)
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [x] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [x] The versioning scheme in `vcpkg.json` matches what upstream says.
- [x] The license declaration in `vcpkg.json` matches what upstream
says.
- [x] The installed as the "copyright" file matches what upstream says.
- [x] The source code of the component installed comes from an
authoritative source.
- [x] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is in the new port's versions file.
- [x] Only one version is added to each modified port's versions file.
krb5 have an issue of absolute paths that I am not sure how to fix, also
I didn't succeeded to compile it on windows, but this PR is a good
start.
```
warning: There should be no absolute paths, such as the following, in an installed package:
/home/tal/vcpkg/packages/krb5_x64-linux
/home/tal/vcpkg/installed
/home/tal/vcpkg/buildtrees/krb5
/home/tal/vcpkg/downloads
Absolute paths were found in the following files:
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/krb5-config
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/krb5-config
error: Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: /home/tal/vcpkg/ports/krb5/portfile.cmake
```
2024-05-07 03:59:50 +08:00
|
|
|
vcpkg_fixup_pkgconfig()
|
|
|
|
|
2024-05-23 14:57:12 +08:00
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
[krb5, curl] Add new port, and add new feature curl[gssapi] (#38402)
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [x] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [x] The versioning scheme in `vcpkg.json` matches what upstream says.
- [x] The license declaration in `vcpkg.json` matches what upstream
says.
- [x] The installed as the "copyright" file matches what upstream says.
- [x] The source code of the component installed comes from an
authoritative source.
- [x] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is in the new port's versions file.
- [x] Only one version is added to each modified port's versions file.
krb5 have an issue of absolute paths that I am not sure how to fix, also
I didn't succeeded to compile it on windows, but this PR is a good
start.
```
warning: There should be no absolute paths, such as the following, in an installed package:
/home/tal/vcpkg/packages/krb5_x64-linux
/home/tal/vcpkg/installed
/home/tal/vcpkg/buildtrees/krb5
/home/tal/vcpkg/downloads
Absolute paths were found in the following files:
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/bin/krb5-config
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/compile_et
/home/tal/vcpkg/packages/krb5_x64-linux/tools/krb5/debug/bin/krb5-config
error: Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: /home/tal/vcpkg/ports/krb5/portfile.cmake
```
2024-05-07 03:59:50 +08:00
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/krb5/cat1")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/krb5/cat5")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/krb5/cat7")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/krb5/cat8")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/krb5/")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/krb5/")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/var")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/var")
|
|
|
|
|
2024-05-23 14:57:12 +08:00
|
|
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/NOTICE")
|